【问题标题】:Turn off power to USB Port programmatically以编程方式关闭 USB 端口的电源
【发布时间】:2013-02-04 15:42:55
【问题描述】:

我有一个正在处理的项目,我想使用这些: http://www.woot.com/blog/post/usb-powered-woot-off-lights-2

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

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

【问题讨论】:

    标签: c# .net c#-4.0


    【解决方案1】:

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

    1. 下载 DevManView.exe 并将 .exe 文件放在某处: http://www.nirsoft.net/utils/device_manager_view.html

    2. 转到您的设备管理器并确定您必须启用/禁用哪个 USB 控制器,以便您的设备不再通电/不通电。对我来说,禁用“USB 串行转换器”确实会切断所有 USB 插槽的电源。

    USB Serial Converter in device manager

    1. 在 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();
      
    2. 然后再次启用它。

      devManViewProc.StartInfo.Arguments = "/enable \"USB Serial Converter\"";
      devManViewProc.Start();
      devManViewProc.WaitForExit();
      

    【讨论】:

      【解决方案2】:

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


      powered-woot-off-lights-2 是通过一个普通的 USB 插头供电的,这意味着它们是 5 伏的,并且每个都有一个灯和一个电机。

      我找不到需要多少安培,但我知道如果 200 mA 的电流足以让一个有源的无电灯足够,那么这个扩展将是完美的。

      USB Controler Extension

      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's website,我认为扩展程序在他们的商店中。 我自己也使用了类似的 nusbio 扩展。

      to turn on/off my a USB fan and a battery powered small lamp

      【讨论】:

        【解决方案3】:

        如果您有管理员权限,请运行以下命令:

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

        【讨论】:

        • 这些变量中的哪一个指定了我要禁用的 USB 端口? 4?
        • 这实际上不会切断 USB 端口的电源,但会为 USB 存储设备禁用它们。这也不是针对特定端口,而是针对所有端口。这里的“4”是“禁用”的值,“3”是“启用”的值。
        猜你喜欢
        • 2012-12-18
        • 1970-01-01
        • 2010-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多