我正在寻找一个C#代码段来通知我在Windows Vista(或win7)中将USB驱动器插入我的电脑的时间
答案 0 :(得分:12)
Codeproject上有一个名为DriveDetector的类,听起来像是你想要的。
答案 1 :(得分:3)
看看WM_DEVICECHANGE。插入驱动器时应发送此消息。
答案 2 :(得分:1)
我知道这不是你要求的,但如果你想在任何时候检查可用的设备,还有另一种方法。您可以使用System.Management namespace中的WMI类,我使用过这种方法,效果很好。
如果您查看this answer,它会显示如何枚举系统上的所有驱动器。然后,您可以查看驱动器类型,以确定它是否是USB记忆棒。
答案 3 :(得分:0)
我编写了一个powershell模块,它使用System.Management.ManagementEventWatcher和WMI类Win32_VolumeChangedEvent来表示您可以在powershell中注册的新事件,包括设备删除,添加等。您应该能够找出相关的管道我的这篇博文:
您应该能够使用我在上面脚本中使用的方法,在少于十行的C#中为新驱动器连接一个事件。
希望这有帮助。