我想编写一个软件,当它连接到 USB 端口时,它会自动将一些文件复制到 USB 拇指驱动器上。为此,我想知道:
如何编写一个在连接 USB 拇指驱动器时收到通知的 C++ 应用程序?
有什么方法可以识别 USB 拇指驱动器,以便我可以跟踪是否已经插入了新的 USB 拇指驱动器?
我认为您可以使用 WM_DEVICECHANGE 窗口消息在设备插入或从系统中删除时收到通知,这是进一步阅读的链接http://msdn.microsoft.com/en-us/library/windows/desktop/ aa363480%28v=vs.85%29.aspx
克里斯特的回答涵盖了基础知识。他没有提到的是如何做(2),识别它。您正在寻找DBT_DEVTYP_DEVICEINTERFACE
到达事件。此事件包含一个dbcc_name
,用于标识确切的设备。(前提是设备符合 USB 规范并具有唯一的序列号;不要指望廉价的中国设备。)