一尘不染

使用Windows Service和C#检测USB驱动器的插入和移除

c#

研究制作USB分布式应用程序的可能性,该应用程序
将在插入USB记忆棒时自动启动,并在取出记忆棒时关闭

将使用.Net和C#。
寻找建议如何使用C#进行处理?


更新:两种可能的解决方案将其实现为服务。
-覆盖WndProc

-将WMI查询与ManagementEventWatcher一起使用


阅读 367

收藏
2020-05-19

共1个答案

一尘不染

您可以使用WMI,它比WndProc提供服务的解决方案更容易,并且效果更好。

这是一个简单的示例:

using System.Management;

ManagementEventWatcher watcher = new ManagementEventWatcher();
WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2");
watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
watcher.Query = query;
watcher.Start();
watcher.WaitForNextEvent();
2020-05-19