我有一个正在处理的项目,我想使用这些: http ://www.woot.com/blog/post/usb-powered-woot-off-lights-2
然而,看起来他们只有开/关开关。它们不是您可以通过编程方式与之交互的东西。
所以我在想,如果我能找到一种方法来切断 USB 端口的电源,那我就可以用我的应用程序打开和关闭灯。但是我找不到任何方法来切断 USB 端口的电源。这可能吗?
我有一个正在处理的项目,我想使用这些: 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 插槽的电源。
在 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();
编辑:不幸的是,这家公司的产品似乎不再销售了。
power-woot-off-lights-2 是通过一个普通的 USB 插头供电的,这意味着它们是 5 伏的,并且每个都有一个灯和一个电机。
我找不到需要多少安培,但我知道如果 200 mA 用于一个供电的 woot-off-lights 就足够了,那么这个扩展将是完美的。
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 扩展。
如果您具有管理员权限,请运行以下命令:
Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 4, Microsoft.Win32.RegistryValueKind.DWord);