检测 C++ 中的新设备插入
我试图找到一种方法来检测新设备(如 USB)何时插入计算机,但我看到的所有东西都需要 MFC,而我没有。有没有办法不用MFC也能做到这一点?如果没有,我理解,但我在谷歌搜索中没有看到类似的内容。
谢谢,
I've tried to find a way to detect when a new device (like a USB) is inserted into a computer, but everything I've seen required MFC, which I don't have. Is there a way to do this without MFC? If not, I understand, but I haven't seen anything of the like in my Google searches.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
C++ 本身不具有任何依赖于平台的硬件级功能。您将需要使用一些 API,例如 Windows 上的 Win32 或 MFC 或 .NET。
C++ by itself does not have any platform-dependent hardware-level functionality. You will need to use some API, like Win32 or MFC or .NET on Windows.
您可以使用 libusb 来完成此操作,并且有一个 libusb for win32,所以你可能会幸运地使用它而不是 MFC,还有更便携的额外好处。
You can do this using libusb and there's a port of libusb for win32, so you might have some luck using that instead of MFC, with the added bonus of being more portable.
处理 WM_DEVICECHANGE 消息。
请参阅 http://msdn.microsoft.com/en -us/library/aa363480(v=vs.85).aspx
编辑:当然,这只是Windows,OP没有指定。如果没有外部库或平台特定的 API,就无法做到这一点。
Handle the WM_DEVICECHANGE message.
See http://msdn.microsoft.com/en-us/library/aa363480(v=vs.85).aspx
EDIT: Of course, this is Windows only, which the OP didn't specify. There's no way to do this without external libraries or platform specific APIs.