繁体   English   中英

如何使用C#找出USB设备的状态?

[英]How to find out status of a usb device using c#?

我正在创建一个与我们的计算机系统消耗的功率有关的项目。 现在我的要求是,我需要找出系统中的USB设备(如pendrive)消耗的功率。 谁能帮助我。

我认为您不能这样做,因为USB规范似乎没有提及有关进行这些测量的任何内容。 我知道您可以获得的唯一信息是该设备是低功率设备还是大功率设备。 对于100mA或500mA且电压介于4.4至5.25V之间的USB 2.0 因此,低功率功率器件的功耗几乎为0至5.25 * 0.1 = 0,525W,而高功率功率则高达5.25 * 0.5 = 2.625W。

不幸的是,WMI类似乎甚至没有为您提供这些信息,但这可能只是我在错误的地方查看。

//using System.Management
var USBDevices = new ManagementObjectSearcher(@"Select * From Win32_USBControllerDevice");
foreach (var device in USBDevices.Get())
{
    foreach (var prop in device.Properties)
    {
        Console.WriteLine(prop.Name + " : " + prop.Value);
    }
}

您可以看看http://www.sharpdevelop.net/OpenSource/SharpUSBLib/default.aspx SharpDevelop的创建者提供的USB库(至少在同一服务器上)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM