以编程方式关闭 USB 端口的电源
本文关键字:电源 USB 编程 方式关 | 更新日期: 2023-09-27 17:57:24
我有一个项目正在做,我想使用这些:http://www.woot.com/blog/post/usb-powered-woot-off-lights-2
但是,看起来它们只有开/关开关。它们不是可以通过编程方式与之交互的东西。
所以我在想,如果我能找到一种方法来切断USB端口的电源,这将允许我用我的应用程序打开和关闭灯。但是,我找不到任何方法来切断USB端口的电源。这可能吗?
我遇到了类似的问题,并使用DevManView.exe(免费软件)解决了它:
-
下载 DevManView.exe并将.exe文件放在某个地方:http://www.nirsoft.net/utils/device_manager_view.html
-
转到您的设备管理器并找出您必须启用/禁用的USB控制器,以便您的设备不再通电。对我来说,禁用"USB串行转换器"确实会切断所有USB插槽的电源。
设备管理器中的 USB 串行转换器
-
在 C# 中,创建并启动用于禁用设备的新进程(使用 USB 控制器的名称)。
Process devManViewProc = new Process(); devManViewProc.StartInfo.FileName = @"<path to DevManView.exe>'DevManView.exe"; devManViewProc.StartInfo.Arguments = "/disable '"USB Serial Converter'""; devManViewProc.Start(); devManViewProc.WaitForExit();
-
并再次启用它。
devManViewProc.StartInfo.Arguments = "/enable '"USB Serial Converter'""; devManViewProc.Start(); devManViewProc.WaitForExit();
编辑:不幸的是,这家公司的产品似乎不再销售了。
<小时 />通电的 woot-off-lights-2 通过普通的 USB 插头供电,这意味着它们是 5 伏的,每个灯和一个电机都有。
我找不到需要多少安培,但我知道如果一个通电的 woot-off 灯的 200 mA 就足够了,那么这个扩展将是完美的。
USB 控制器扩展
C# 或 VB.NET 代码如下所示。
// On
nusbio.GPIOS[NusbioGpio.Gpio0].DigitalWrite(true);
nusbio.GPIOS[NusbioGpio.Gpio1].DigitalWrite(true);
// Off
nusbio.GPIOS[NusbioGpio.Gpio0].DigitalWrite(false);
nusbio.GPIOS[NusbioGpio.Gpio1].DigitalWrite(false);
查看Nusbio的网站,我认为扩展程序在他们的商店中。我自己使用了类似的nusbio扩展。
打开/关闭我的 USB 风扇和电池供电的小灯
如果您具有管理员权限,请运行以下命令:
Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE'SYSTEM'CurrentControlSet'Services'USBSTOR", "Start", 4, Microsoft.Win32.RegistryValueKind.DWord);