2010-10-05 109 views
0

我正在創建一個與我們的計算機系統消耗的功耗相關的項目。 現在我的要求是, 我需要找出系統中的usb設備(如pendrive)所消耗的功率。 任何人都可以幫助我。如何找出使用c#的USB設備的狀態?

回答

0

我不認爲你可以這樣做,因爲USB規範似乎沒有提到有關提供這些測量的任何內容。我知道的唯一信息就是如果設備是低功率或高功率設備。對於USB 2.0,即100mA或500mA,電壓在4.4至5.25V之間。因此,低功率器件的功耗幾乎可以從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); 
    } 
} 
+0

但在managementobjectsearcher – Pawan 2010-10-05 12:54:15

+0

這顯示錯誤你進入'使用System.Management '在頂部,你是否在項目中添加了對它的引用? – 2010-10-05 14:28:17

+0

此外,這僅僅是如何使用Windows Management Instrumentation獲取信息的示例http://msdn.microsoft.com/en-us/library/aa394582%28VS.85%29.aspx,因爲您可以看到我沒有實際上找到你正在尋找的信息。它可能仍然在某處。 – 2010-10-05 14:31:01