C# 以编程方式关闭USB端口的电源

C# 以编程方式关闭USB端口的电源,c#,.net,c#-4.0,C#,.net,C# 4.0,我有一个正在进行的项目,我想使用这些: 然而,看起来它们只有开/关开关。它们不是您可以通过编程方式与之交互的东西 所以我在想,如果我能找到一种方法切断USB端口的电源,那我就可以用我的应用程序打开和关闭灯。但是,我找不到任何方法来切断USB端口的电源。这可能吗?如果您具有管理员权限,请运行以下操作: Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR",

我有一个正在进行的项目,我想使用这些:

然而,看起来它们只有开/关开关。它们不是您可以通过编程方式与之交互的东西


所以我在想,如果我能找到一种方法切断USB端口的电源,那我就可以用我的应用程序打开和关闭灯。但是,我找不到任何方法来切断USB端口的电源。这可能吗?

如果您具有管理员权限,请运行以下操作:

Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 4, Microsoft.Win32.RegistryValueKind.DWord); 

编辑:不幸的是,似乎这家公司的产品


通电的woot-off-lights-2通过常规usb插头供电,这意味着它们的电压为5伏,每个灯和一个电机中都有一个电源

我找不到需要多少安培,但我知道,如果一个功率为200毫安的低音关闭灯就足够了,这个扩展将是完美的

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扩展


我遇到了一个类似的问题,并使用DevManView.exe(免费软件)解决了它:

  • 下载DevManView.exe并将.exe文件放在某处:

  • 转到设备管理器,找出您必须启用/禁用的USB控制器,以便您的设备不再通电。对我来说,禁用“USB串行转换器”会切断所有USB插槽的电源

  • 在C#中,创建并启动用于禁用设备的新进程(使用USB控制器的名称)


  • 这些变量中的哪一个指定了我要禁用的USB端口?4?这实际上不会切断USB端口的电源,但会禁用USB存储设备的电源。这也不是针对特定端口,而是针对所有端口。这里的“4”是“禁用”的值,“3”是“启用”的值。
    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();