Windows下的U盘监控

本文介绍了如何在Windows操作系统中实现对U盘插入事件的监控,包括使用系统事件查看器跟踪USB设备,以及通过编程方式利用Windows API检测U盘的接入情况。
摘要由CSDN通过智能技术生成
// Windows应用程序都是基于消息/事件驱动的,任何一个窗口都能接收消息,并对该消息作出相应的处理。

// U盘等移动设备的插入或者移除操作有与之对应的消息-WM_DEVICECHANGE。实现监控U盘的插入和拔出,只需要捕获这个消息并对它进行处理即可实现。

// PS:WindowProc函数:
// 功能:消息处理回调函数。
// 原型:LRESULT CALLBACK WindowProc (
//         HWND hwnd,
//         UINT uMsg,
//         WPARAM wParam,
//         LPARAM lParam 
//       )
// 参数:hwnd:指定窗口的句柄。
//       uMsg:消息ID,是一个枚举值,这里是WM_DEVICECHANGE.
//       wParam:消息附带的参数,改参数可以是Dbt.h头文件中的以下值之一:
//            DBT_CONFIGCHANGECANCELED:更改当前配置(插入或移除)的请求已取消。
//            DBT_CONFIGCHAGED:由于插入或移除,当前配置已更改。
//            DBT_CUSTOMLEVEL:发生了自定义事件。
//            DBT_DEVICEARRIVAL:已插入了设备或介质,现在可以使用它。
//            DBT_DEVICEQUERYREMOVE:请求删除设备或介质的权限。
//            DBT_DEVICEREMOVECOMPLETE:已删除设备或介质。
//            DBT_DEVICEREMOVEPENDING:即将删除一个介质或设备。
//            DBT_DEVICETYPESPECIFIC:设备发生特定事件。
//            DBT_DEVNODES_CHANGED:已将设备添加到系统或从系统中删除。
//            DBT_QUERYCHANGECONFIG:请求权限更改当前配置。
//            DBT_USERDEFINED:此消息的含义是由用户自己定义。
//       lParam:指向由事件特定的数据结构的指针。其格式取决于wParam参数的值。
// 结果:若返回TRUE表示授予请求。若返回BROADCAST_QUERY_DENY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值