簡體   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