草庐IT

DEVICEREMOVECOMPLETE

全部标签

C++ Win32 在 WM_DEVICECHANGE 上未收到 DBT_DEVICEARRIVAL 或 DBT_DEVICEREMOVECOMPLETE

我一直致力于检测USB插入/移除。我已经使用CreateWindowEx()实现了代码,通过我的窗口进程回调传递了一个WNCLASSEX。在插入和移除USB时,我成功收到WM_DEVICECHANGE消息,但wParam始终设置为DBT_DEVNODES_CHANGED。我从来没有得到DBT_DEVICEARRIVAL或DBT_DEVICEREMOVECOMPLETE。我一直在使用我得到的东西,但我确实需要能够区分设备到达和移除之间的区别,以便我可以根据收到的设备采取不同的操作。现在,我必须在收到DBT_DEVNODES_CHANGED后设置一个计时器,然后测试系统上是否有任何新的可移