如果USB设备正在使用,我如何以编程方式弹出USB设备?
方案:
连接到系统的USB设备。
我们通过“RegisterDeviceNotification”获取WM_DEVICECHANGE消息,通过它我们可以处理DBT_DEVICEARRIVAL,DBT_DEVICEQUERYREMOVE等事件。
问题:1:如何在没有任何提示的情况下弹出USB?
问题:2:当用户从浏览器弹出USB设备时,我们如何收到通知?
提前致谢:)
答案 0 :(得分:0)
好吧,你无法机械弹出它。那么软件弹出它意味着什么呢?这意味着Windows将阻止为文件或目录创建任何进一步的句柄。因此,之后移除USB记忆棒是安全的
现在USB棒正在使用是什么意思?这只意味着有开放的手柄。是否阻止创建任何进一步的句柄并没有什么区别。在手柄打开时移除USB记忆棒意味着您可能会损坏USB记忆棒上的内容。
因此,想要在使用时弹出USB记忆棒不是问题。这个问题完全毫无意义。
请注意,Windows已经告诉您实际应该执行的操作:关闭可能正在使用该设备的所有程序或窗口,然后重试。
问题二同样也没有多大意义。当磁盘F:
消失时,您为什么要关心细节?毕竟,如果您有理由关心(例如打开文件),Windows就会阻止该操作。