C#获取USB事件API实例分析
作者:feige 发布时间:2021-09-01 13:55:07
标签:C#,USB
本文实例讲述了C#获取USB事件API。分享给大家供大家参考。具体如下:
const int WM_DEVICECHANGE = 0x2190;
const int DBT_DEVICEARRIVAL = 0x8000;
const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
protected override void WndProc(ref Message m)
{
try
{
//if (m.Msg == WM_DEVICECHANGE)
//{
switch (m.WParam.ToInt32())
{
case DBT_DEVICEARRIVAL: // U盘插入
DriveInfo[] s = DriveInfo.GetDrives();
foreach (DriveInfo drive in s)
{
if (drive.DriveType == DriveType.Removable)
{
Console.WriteLine("USB插入");
break;
}
}
break;
case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
//
Console.WriteLine("USB卸载");
break;
default:
break;
}
//}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
base.WndProc(ref m);
}
希望本文所述对大家的C#程序设计有所帮助。


猜你喜欢
- OAuth 2.0 是一种工业级的授权协议。OAuth 2.0是从创建于2006年的OAuth 1.0继承而来的。OAuth 2.0致力于帮
- Java数组声明、创建、初始化一维数组的声明方式:type var[]; 或type[] var;声明数组时不能指定其长度(数组中元素的个数
- 本文实例为大家分享了Android仿刮刮卡效果展示的具体代码,供大家参考,具体内容如下一、Xfermode 通过使用Xfermode将绘制的
- 背景在当下移动互联网后半场,手机已经是人手必备的设备。App是离用户最近的应用,界面又是最直观影响用户体验的关键部分,其流畅度直接影响用户对
- 本文实例讲述了C#读写文本文件的方法。分享给大家供大家参考。具体分析如下:System.IO命名空间中的类为托管应用程序提供文件以及其他形式
- 了解内存的原理1、内存是由 Key 和 Value 组成,Key 是内存地址、Value 是存储的数据;2、Key:是一个32位长度的二进制
- 效果视频简述本Demo采用Hilt+Retrofit+Paging3完成,主要为了演示paging3分页功能的使用,下列为Demo所需要的相
- 前言之前写过几篇关于输入系统的文章,但是还没有写完,后来由于工作的变动,这个事情就一直耽搁了。而现在,在工作中,遇到输入系统相关的事情也越来
- 目录前言常量池反编译代码验证字符串初始化操作总结前言在深入学习字符串类之前,我们先搞懂JVM是怎样处理新生字符串的。当你知道字符串的初始化细
- 本文实例总结了C#生成随机数的方法。分享给大家供大家参考。具体分析如下:开始,很简单地使用System.Random类来生成随机数。很快,问
- 使用System.Threading.Thread类可以创建和控制线程。常用的构造函数有: // 摘要: // 初
- 本节我们基于一个发表文章的案例来说明SpringBoot如何elasticsearch集成。elasticsearch本身可以是一个独立的服
- 一、java内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和
- 本文实例为大家分享了Unity实现简单虚拟摇杆的具体代码,供大家参考,具体内容如下需求:点击创建一个虚拟摇杆底盘,鼠标拖拽时候上方摇杆会跟随
- 1 前言项目中,目前主流的当然是微服务项目。为了应对高并发,以及保证自己的服务比较稳定,通常会把服务按照模块,或者具体的业务划分为多个独立的
- 最近设计要求要一个圆形进度条渐变的需求:1.画圆形进度条2.解决渐变最终实现效果代码package com.view;import andr
- 微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较繁琐的前期准
- 1. Spring Boot Condition功能与作用@Conditional是基于条件的自动化配置注解, 由Spring 4框架推出的
- 首先,通过代码定义一个委托和下面三个示例将要调用的方法:public delegate int AddHandler(int a,int b
- 编程是一门艺术,大批量的改动显然是非常丑陋的做法,用心的琢磨写的代码让它变的更美观。在有些情况下,一个客户不能或者不想直接访问另一个对象,这