我需要检测新驱动器何时通过USB端口,火线端口等插入Windows系统。我知道WM_DEVICECHANGE消息,但这需要打开一个窗口才能打开用它。有没有办法在C#中创建后台进程,以检测新驱动器何时插入?
背景信息:我想编写此应用程序以从公司可移动驱动器中删除蠕虫。常规防病毒软件无法删除它。我们有一个可以删除蠕虫的脚本,但它必须手动运行,这不足以控制爆发。
答案 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)
您可以创建隐藏窗口或运行服务,因为它应该与窗口句柄或服务状态句柄一起使用。