2017-01-20 33 views
-3

在C#中獲取電源單元信息,例如型號名稱,串口和DC電源等有什麼方法嗎?獲取供電單元信息 - C#

我剛找到這個鏈接,測試一無所獲!

https://msdn.microsoft.com/en-us/library/aa387973(v=vs.85).aspx

+4

也許一個更好的問題是,有沒有什麼方法可以用軟件*獲取這些信息*? (我強烈懷疑不是) – BradleyDotNET

+2

我很確定這對OS不可用。 (主板怎麼知道?沒有任何來自PSU的數據連接。) –

+0

那麼什麼是「CIM_PowerSupply類」? – Nofuzy

回答

0

你應該從一些你正在尋找通過WMI查詢withing的CIM_PowerSupply類的信息訪問。

string NamespacePath = "\\\\.\\ROOT\\CIMV2\\power"; 
string ClassName = "CIM_PowerSupply"; 

ManagementClass oClass = new ManagementClass(NamespacePath + ":" + ClassName); 

foreach (ManagementObject oObject in oClass.GetInstances()) 
{ 
    //access a property of the Management object 
    oObject["ActiveInputVoltage"]; 
} 

之後,你有查詢集合,您可以訪問一些在下面的鏈接中找到的屬性:https://msdn.microsoft.com/en-us/library/aa387973(v=vs.85).aspx

+0

在你參考的那個文檔頁上,它說「WMI沒有實現這個類」,我想知道是否有任何平臺實際上支持這個類? – dlatikay

+0

沒有工作! ! – Nofuzy

+0

你是否用oObject返回任何東西? –

1

TL; DR:當然可以,但你需要能夠提供數據的硬件。

-

從電源獲取數據需要帶有PMBus(電源管理CHINESE總線)一個PSU以及與相關聯的電路的母板。

Wikipedia: Power Management Bus: -

的PMBus命令空間可以被看作是暴露的各種可讀的,並且通常可寫的,設備屬性,例如測得的電壓和電流水平,溫度,風扇速度,以及更多。不同的設備會暴露不同的屬性。

有幾個廠商,事業單位的,在這裏我quote from SuperMicro因爲我知道他們提供他們:

Supermicro的寬範圍的高效率電源,包括提供許多重要功能[...] 遠程使用PMBus進行監視

請注意,可以通過將PSU值設置在計算機中其他硬件的額定值之外來銷燬計算機。