"Nicht gefundene" Ausnahme, die beim Versuch generiert wurde, eine CPU -ID über WMI zu erhalten

StackOverflow https://stackoverflow.com/questions/4533756

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?

War es hilfreich?

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
scroll top