// 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
Windows下的U盘监控
最新推荐文章于 2023-04-23 16:43:26 发布