C# 判断USB插拔
时间: 2023-07-12 15:06:33 浏览: 66
你可以使用 C# 的 System.Management 命名空间中的 WMI 类来检测 USB 设备的插拔。以下是一个简单的示例代码:
```
using System;
using System.Management;
class Program
{
static void Main(string[] args)
{
ManagementEventWatcher watcher = new ManagementEventWatcher();
WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2 or EventType = 3");
watcher.EventArrived += new EventArrivedEventHandler(HandleEvent);
watcher.Query = query;
watcher.Start();
Console.WriteLine("Listening for USB device events...");
Console.ReadLine();
watcher.Stop();
}
private static void HandleEvent(object sender, EventArrivedEventArgs e)
{
Console.WriteLine("USB device changed: {0}", e.NewEvent.Properties["__InstanceName"].Value);
}
}
```
此代码将创建一个 WMI 事件监视器,以便在 USB 设备插入或拔出时触发事件。当事件发生时,HandleEvent 方法将被调用,并打印设备的实例名称。你可以根据需要修改 HandleEvent 方法来执行自己的操作。