Windows,热插拔时禁用 USB 设备(无 GPO)

Windows,热插拔时禁用 USB 设备(无 GPO)

我尝试在 Windows 版本系列(无 GPO)下禁用插入的 USB 设备。我尝试了几种语言来实现我的目标,但没有成功。我寻找一种与 Linux udev 相对应的方法。

我想在“热插拔”时禁用 USB 设备,但我不知道这是否可行。

我的第一个方法:

  • C++ 和 C# 中的 Setupapi 库
  • PowerShell cmdlet 禁用-PNPDevice
  • 我想要的设备是禁用键盘,所以我还查看了 win32_keyboard 类 CIM_keyboard 和其他类......
  • 下一步是 Windows 驱动程序...

我对这些解决方案的问题是,当我想在插入后立即使禁用生效时,应该移除设备并重新插入以使停用生效。

在 Windows 注册表 ( HKLM \ SYSTEM \ CurrentControlSet \ Services \ kbdclass or kbdhid)中Start,可以0x04根据类别管理名为的值 (= 禁用),但如果我理解的话,如果我这样做,相关服务将根本无法启动,所以在这些情况下,这使我的第二个键盘(主键盘)保持活动状态,并且我不会发现自己没有键盘。

您如何看待 libusb-win32 库?是否有特定的 Windows 注册表项可以立即更改设备的状态?

我想知道这是否可行并可以指导?谢谢。

相关内容