Hallo Leute.
Versuche mich grad mit WMI. Lese in einem Programm die BIOS Daten aus.
Solange das Ergebnis kein Array ist klappt das auch prima. Andernfalls wird mir nur der jeweilige Array-Type ausgegeben.
...
public void GetSystemInfo()
{
ManagementObjectSearcher query;
ManagementObjectCollection queryCollection;
System.Management.ObjectQuery oq;
string stringMachineName = "localhost";
ConnectionOptions co = new ConnectionOptions();
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" + stringMachineName + "\\root\\cimv2", co);
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_BIOS");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
foreach(ManagementObject mo in queryCollection)
{
textBoxSysInfo.Text = "BiosCharacteristics: " + mo["BiosCharacteristics"]; // <--- hier hab ich ein Problem
NL(); // neue Zeile
textBoxSysInfo.Text += "Caption: " + mo["Caption"];
NL();
textBoxSysInfo.Text += "IdentificationCode: " + mo["IdentificationCode"];
NL();
textBoxSysInfo.Text += "InstallDate: " + mo["InstallDate"];
NL();
textBoxSysInfo.Text += "Manufacturer: " + mo["Manufacturer"];
NL();
textBoxSysInfo.Text += "Name: " + mo["Name"];
}
}
...
Die im Quelltext markierte Stelle gibt mir folgendes aus:
BiosCharacteristics: System.UInt16[]
Laut MSDN handelt es sich bei BiosCharacteristics um ein uint16 array. Also müsste ich doch irgendwie über den Index an dessen Werte rankommen.
Über ...
textBoxSysInfo.Text = "BiosCharacteristics: " + mo["BiosCharacteristics[1]"];
...funzt es leider nicht.
Weiß da einer mehr??? =)
Danke schon im voraus.
SGT_BOB
*************************
Ich bin root, ich darf das... 😜
root>_
*************************
((UInt16[])mo["BiosCharacteristics"])[0]
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Danke...
Das war genau das was ich gesucht hab. 👍
SGT_BOB
*************************
Ich bin root, ich darf das... 😜
root>_
*************************