【问题标题】:C# USB removal event in Windows XPWindows XP 中的 C# USB 移除事件
【发布时间】:2018-04-15 21:04:29
【问题描述】:

我正在为 USB 串行设备开发 C# 类库。我需要一个事件来了解 USB 何时被移除。

目前我正在使用WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 3") 在拔出 USB 时收到通知,以便在拔下端口后断开端口。

这在 Windows 7、Windows 8 和 Windows 10 中运行良好。 但在 Windows XP SP3 中,移除 USB 时不会触发该事件。 (备注:我的 windows XP 安装的是 .NET 3.5 和 .NET 3.5 SP1)

有没有办法在 Windows XP 中移除 USB 时收到通知?

【问题讨论】:

    标签: c# .net usb windows-xp


    【解决方案1】:

    我找到了解决办法!

    string query = "SELECT * FROM __InstanceDeletionEvent WITHIN [interval] WHERE TargetInstance ISA 'Win32_USBHub'";
    var watcher = new ManagementEventWatcher(query);
    watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
    watcher.Start();
    

    备注:替换[interval]指定轮询间隔,您可能会得到更多信息HERE

    【讨论】:

      猜你喜欢
      • 2011-05-03
      • 2012-12-04
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多