"Nicht gefundene" Ausnahme, die beim Versuch generiert wurde, eine CPU -ID über WMI zu erhalten
-
13-10-2019 - |
Frage
Ich verwende diesen Code, um die Prozessor -ID abzurufen:
public static string getProcessorId()
{
var mc = new ManagementClass("Win32_Processor");
var moc = mc.GetInstances();
foreach (var mo in moc)
{
return mo.Properties["ProcessorId"].Value.ToString();
}
return "Unknown";
}
Ich betreibe Windows 7 32-Bit, Visual Studio 2008. Leider wird eine "nicht gefundene" Ausnahme von der MC.GetinStances () -Methode-Aufruf angewendet.
Hier ist ein ähnliches Code (HDD -Serie abrufen):
public static string getVolumeSerialNumber()
{
var disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}
Dieser Code schlägt auch fehl - die Methode "disk.get ()" erhöht eine "ungültige Klasse" -Ausnahme.
Ich habe diesen Code mit OCAC ausgeschaltet und eingeschaltet - nichts hilft.
Was mache ich falsch?
Lösung
Ihre WMI -Installation scheint etwas kaputt zu sein. "Win32_Processor" ist eine wirklich Standardklasse, die dort sein sollte.
Hier ist ein Link zur Diagnose von WMI -Problemen: So überprüfen Sie das WMI -Repository, bevor Sie es wieder aufbauen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow