admin 管理员组文章数量: 887007
c# 监测U盘(Form)
WinForm 监测U盘真的很简单:
1.本案例需求,系统启动时检测一遍设备是否有U盘,将获取的结果显示
2.系统运行中监测U盘的插拔,并提示
笔记(设备管理事件)
主要使用的是下边的这些事件(设备管理事件)
public const int WM_DEVICECHANGE = 0x219;//通知应用程序更改设备或计算机的硬件配置public const int DBT_DEVICEARRIVAL = 0x8000;//u盘插入**************************public const int DBT_CONFIGCHANGECANCELED = 0x0019;//当取消更改当前配置(停靠或取消停靠)public const int DBT_CONFIGCHANGED = 0x0018;//当前配置发生了变化 public const int DBT_CUSTOMEVENT = 0x8006;//发生驱动程序定义的自定义事件时public const int DBT_DEVICEQUERYREMOVE = 0x8001;public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;//当取消删除设备或介质的请求时public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;//设备已经被清除********************public const int DBT_DEVICEREMOVEPENDING = 0x8003;//当移除设备或介质并且不再可用时public const int DBT_DEVICETYPESPECIFIC = 0x8005;//与设备有关的事件public const int DBT_DEVNODES_CHANGED = 0x0007;//设备节点发生了变化public const int DBT_QUERYCHANGECONFIG = 0x0017;//请求更改当前配置(停靠或取消停靠)的权限public const int DBT_USERDEFINED = 0xFFFF;
笔记(WndProc(ref Message m))
wndProc函数作用:主要用于捕获系统运行返回信息。
也可以通过override 重写wndpro,进行人为的篡改计算机的运行行为
捕获窗口运行时窗口动作信息,按键,鼠标,串口等等。。。也就是说不仅仅是监测U盘
protected override void WndProc(ref Message m){try {string UDeskName = "";if (m.Msg == WM_LBUTTONDBLCLK)richTextBox1.AppendText("【系统消息】双击左键");//比如这个按键if (m.Msg == WM_DEVICECHANGE)//通知应用程序更改设备或计算机的硬件配置。{switch(m.WParam.ToInt32()){case WM_DEVICECHANGE://通知应用程序更改设备或计算机的硬件配置。break;case DBT_DEVICEARRIVAL://U盘插入 //巴拉巴拉。。。。自己操作break;case DBT_CONFIGCHANGECANCELED:break;case DBT_CONFIGCHANGED:break;case DBT_CUSTOMEVENT:break;case DBT_DEVICEQUERYREMOVE://允许清除被请求的设备。任何应用程序都可以拒绝这个请求并取消清除操作。 break;case DBT_DEVICEQUERYREMOVEFAILED://清除设备的请求被取消了break;case DBT_DEVICEREMOVECOMPLETE: //U盘卸载ShowInfo("【系统消息】U盘已拔出" + GetNowTime());break;case DBT_DEVICEREMOVEPENDING://设备将要被清除。不能拒绝break;case DBT_DEVICETYPESPECIFIC:break;case DBT_DEVNODES_CHANGED://设备变化时break;case DBT_QUERYCHANGECONFIG:break;case DBT_USERDEFINED:break;default:break;}}}catch(Exception ex){ throw ex;}base.WndProc(ref m);}
没了,最主要的就这两个:事件代码、WndProc(ref Message m)
捕获到相应的事件,然后就是干。。。
本文标签: c 监测U盘(Form)
版权声明:本文标题:c# 监测U盘(Form) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732357193h1534770.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论