Hi,
ich versuche mich daran, den L2 Cache meines Prozessors auszulesen.
Dabei verwende ich folgenden Code:
ManagementObject mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
try
{
MessageBox.Show(mo["L2CacheSize"].ToString());
}
catch {}
mo.Dispose();
Leider wird mir immer "0" zurückgeliefert. Der richtige Prozessor ists auf jeden Fall, ich kann erfolgreich die Taktfrequenz mittels WMI auslesen.
Was mache ich falsch?
partyboy
Es scheint ein bekanntes Problem zu sein und hier gibts ne Lösung(?) http://support.microsoft.com/kb/894569
Win32 CacheMemory WMI Klasse verwenden, um die MaxCacheSize Eigenschaft zurückzugeben
Weiß jemand was damit anzufangen?
partyboy
mache es über den CPUID-Befehl. Lagere die Erkennung in eine C-DLL und rufe es über DLLImport auf. Dazu gabs hier schon einen Thread zu 😉
Hi,
haste den Thread grade parat oder irgendwelche Anhaltspunkte, wie ich ihn finden kann? Die Suche nach "CPUID" im Forum bringt keine Treffer.
partyboy
Schau mal hier:
http://www.codeproject.com/csharp/unmanage.asp
Hier ein Teil über die CPUID:
http://en.wikipedia.org/wiki/CPUID
Wenn du genau Fragen hast, dann frage. Ich hatte selber mal ein CPU-Erkennungstool gemacht.
Hi,
bin gerade dabei ein Programm zu schreiben, dass Hardwareinformationen ausgeben soll. Habe über WMI versucht die ProcessorID auszulesen. Diese speicherre ich in einem string. Mein Problem ist nun, das ich einen 16 stelligen string zurückbekomme (178BFBFF00040F33), aus dem ich keine Informationen ziehen kann. Muss ich diese Zeichenfolge noch irgendwie konvertieren? Hier mal der Code von meinem kleinen Testprogramm:
ManagementObject CpuData = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
string CPUID = "";
try
{
CPUID = (string)(CpuData["ProcessorID"]);
}
catch { }
CpuData.Dispose();
label1.Text = Convert.ToString(CPUID);
Wär toll, wenn mir jemand weiterhelfen könnte - oder vielleicht ein paar Tips hätte. Achja, kann man irgendwo einsehen, was man alles mit WMI auslesen kann, wie z.B CurrentClockSpeed, L2CacheSize, ProcessorID...usw.
danke im voraus
mfg cpu
Was für Informationen möchtest du den aus der ID der CPU auslesen? Meines wissens nach, ist es hat nichts weiter als eine ID. Da sind keine versteckten Botschaften enthalten...
Achja, kann man irgendwo einsehen, was man alles mit WMI auslesen kann, wie z.B CurrentClockSpeed, L2CacheSize, ProcessorID...usw.
Jepp, nennt sich Visual Studio 2005/2008. Allerdings nicht in den Express Varianten so viel ich weis.
EDIT: Sollte vielleicht noch erwähnen wo man es findet 😉
Unter "View->Server Explorer". Dann "Servers->[Computername]->Management Classes". Habe nur englische IDEs, darum weis ich die Deutschen Pfade nicht (was ja allerdings nicht schwer zu übersetzen ist).
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hi, danke erstmal für die schnelle Antwort.
also prinzipiell wollt ich so viele Informatinen auslesen wie möglich. Also Hersteller,genaue Bezeichnung der CPU, Taktrate, die Caches, den Kern falls möglich, die Spannungen usw.
Also eigentlich so ne Art Everest, nur selbst geschrieben 😉
Ich dachte Hersteller und "CPU Name" könnten in der ID stehen, also dass die Zeichenkette diese Werte liefert.
also prinzipiell wollt ich so viele Informatinen auslesen wie möglich. Also Hersteller,genaue Bezeichnung der CPU, Taktrate, die Caches, den Kern falls möglich, die Spannungen usw
Also Bezeichnung der CPU steckt in der Eigenschaft "Name". Taktrate in "MaxClockSpeed" (Win32_Processor Klasse).
Die Werte für die Caches sind in den Eigenschaften "L2CacheSize" und "L2CacheSpeed" zu finden. Unter Vista sind dann auch die Eigenschaften für "L3CacheSize" und "L3CacheSpeed" hinzugekommen.
Tja, bei Spannung muss ich mich geschlagen geben. Es gibt zwar die Klasse Win32_VoltageProbes, aber da steht nicht wirklich viel drin.
Das beste wäre wirklich, die Daten im unmanaged Bereich zu ermitteln. WMI stößt da auch auf seine Grenzen. Die Links von MagicAndre1981 sind da schon genau die Richtigen.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hi,
werd mir die Links mal anschauen und ein bischen rumprobieren.
Danke für die Hilfe
mfg cpu