通过USB或其他方式连接新驱动器时获取通知(C#)

时间:2009-11-23 15:01:28

标签: c# antivirus usb-drive removable-drive

我需要检测新驱动器何时通过USB端口,火线端口等插入Windows系统。我知道WM_DEVICECHANGE消息,但这需要打开一个窗口才能打开用它。有没有办法在C#中创建后台进程,以检测新驱动器何时插入?

背景信息:我想编写此应用程序以从公司可移动驱动器中删除蠕虫。常规防病毒软件无法删除它。我们有一个可以删除蠕虫的脚本,但它必须手动运行,这不足以控制爆发。

4 个答案:

答案 0 :(得分:4)

windows service应该做的伎俩

尝试重新编写CodeProject DriveDetector作为服务,您应该拥有所需的

答案 1 :(得分:0)

此博文显示了如何处理系统事件,https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/howdoi/?p=135也许您可以将它用于您想要处理的事件

答案 2 :(得分:0)

您需要订阅RegisterDeviceNotification,并将其绑定到服务状态句柄。另请参阅http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/9ae4478a-1133-44ba-8a1c-3e4be3856e37

我不太确定如何实现这一点,已经很久以前了。

答案 3 :(得分:0)

您可以创建隐藏窗口或运行服务,因为它应该与窗口句柄或服务状态句柄一起使用。