7

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

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

4

4 回答 4

4

A windows service should do the trick

Try reworking the CodeProject DriveDetector as a service and you should have what you need

于 2009-11-23T15:05:44.740 回答
1

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

我不太清楚如何实现这一点,这是很久以前的事了。

于 2009-11-23T15:10:25.217 回答
0

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

于 2009-11-23T15:10:07.400 回答
0

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

于 2009-11-23T15:11:52.077 回答