我有点困惑如何用用户插入设备(USB、HID等)的事件通知我的c++应用程序。未定义应用程序类型。我正在尝试玩控制台/仅消息/服务示例应用程序,但没有结果。我正在使用VS2015和Windows 10。
我发现有多种处理它的方法:
while(true){...}
循环并调用适当的Win API函数,如在这个答案中。但这种方式似乎不是解决我问题的完美办法。我的问题是
如有任何意见,敬请见谅。
发布于 2016-08-05 09:32:35
所以我终于找到了一些问题的答案。
NotificationFilter
提供的GUID。因此,我将其设置为接收来自所有设备的通知,代码为: DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory(&NotificationFilter,sizeof(NotificationFilter));
NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;//无需设置dbcc_classguid,因为当设置// DEVICE_NOTIFY_ALL_INTERFACE_CLASSES时(见下面一行),HDEVNOTIFY dev_notify = RegisterDeviceNotification(hwnd,&NotificationFilter,DEVICE_NOTIFY_ALL_INTERFACE_CLASSES)被忽略;希望这能节省别人的时间。
https://stackoverflow.com/questions/38740459
复制相似问题