c# 'Ungültige Klasse" in eine einfache WMI-Abfrage
Werde ich gerne einige finden Ergebnis nach dieser Abfrage, aber am Anfang der foreach-Schleife, die den Fehler "invalid class" auftreten.
string wmiQuery = string.Format("SELECT * FROM Win32_Process");
var searcher = new ManagementObjectSearcher(wmiQuery);
var wmiResults = searcher.Get();
foreach (ManagementObject retObject in wmiResults)
{
Console.WriteLine("[{0}]\tName: {1}", retObject["ProcessID"], retObject["Name"]);
}
Ich benutze window 7 64, und ich Frage mich, ob "Win32_Process" vorhanden ist.
Ich benutze auch wmi code creator herunterladen http://www.microsoft.com/downloads/en/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en
aber ich dont finden "Win32_Process".
Hat jemand eine Idee ?
- Sind Sie gerade versuchen zu Liste laufender Prozess " Informationen? Sie nicht brauchen, WMI für das, check-out der Prozess-Klasse.
- Ich habe mein Problem gelöst und ich geschrieben, die Antwort, Dank an alle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich mein problem lösen. Es scheint, dass mein WMI beschädigt war.
Nach dem testen von WMI mit diesem Schritt:
Sah ich Win32_Process wurde eine ungültige Klasse
Ich Folgen Sie dieser Schritt für die Reparatur meiner WMI, und es funktioniert
1) In das Startmenü, geben Sie "cmd"
2) Geben Sie "net stop winmgmt" und drücken Sie die EINGABETASTE
3) Öffnen Sie den Windows Explorer und suchen Sie den Pfad zu C:\ windows\system32\WBEM\ - Ordner und benennen Sie die Repository-Ordner, um etwas anderes wie RepositoryOLD (mit der rechten Maustaste und wählen Sie 'Ordner Umbenennen').
4) starten Sie den computer neu
5) Im start-Menü, geben Sie "cmd"
6) Geben Sie "net stop winmgmt" und drücken Sie die EINGABETASTE
7) Geben Sie "winmgmt /resetRepository" und starten Sie den computer neu.
Als dominus vorgeschlagen, die Verwendung der Process-Klasse:
Meiner Meinung nach die Ausnahme nicht hinreichend Staat das problem. Der code unten funktioniert. Wenn Sie zum Beispiel weglassen "\cimv2" in den Anwendungsbereich der Ausnahme. Wenn Sie zum Beispiel irrtümlich wählen Sie aus "Win32_Processes" die Ausnahme tritt auch auf. Daher ist zumindest sicherzustellen, dass der Umfang stimmt und die Abfrage korrekt ist.