接收到WM_DEVICECHANGE时,怎样才能判断是否为自己要关心的设备?

19780812 2003-03-06 03:00:56
接收到WM_DEVICECHANGE时,怎样才能判断是否为自己要关心的设备?
谢谢!
...全文
215 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
HotFox 2003-03-07
  • 打赏
  • 举报
回复
还有个笨方法就是每次WM_DEVICECHANGE的时候,记录当前的所有关心的设备的状态,
然后与上一次的状态比较,我就经常这么干,呵呵
ahao 2003-03-06
  • 打赏
  • 举报
回复
这样:

DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
DWORD Err;

ZeroMemory( ¬ificationFilter, sizeof(NotificationFilter) );
NotificationFilter.dbcc_size =
sizeof(DEV_BROADCAST_DEVICEINTERFACE);
NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
NotificationFilter.dbcc_classguid = InterfaceClassGuid; // 这个是你关心的interface GUID

*hDevNotify = RegisterDeviceNotification( hWnd,
¬ificationFilter,
DEVICE_NOTIFY_WINDOW_HANDLE
);

然后在WM_DEVICECHANGE的消息处理函数里的参数就会指向一个结构,如果不调用上面的函数,那么参数都是0.
NowCan 2003-03-06
  • 打赏
  • 举报
回复
gz

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧