Wie man die CPU-Temperatur info vom Bios mit c#?
Wie man die CPU-Temperatur info vom Bios mit c#
Ich gab einen Versuch, um den code in CPU Temperatur überwachung
Aber kein Glück. 'enumerator.Aktuelle' hat eine Ausnahme ausgelöst.
Wie kann ich das erreichen ? Danke.
Fehler :
"Dieses system unterstützt nicht die
die erforderlichen WMI-Objekte(1) - überprüfen Sie das
Ausnahme Datei \\r \ \ nNicht unterstützt
\\r \ \ n\\r \ \ n bei
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus
errorCode)\\r \ \ n bei
System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext ()\\r \ \ n
bei
CedarLogic.WmiLib.SystemStatistics.RefreshReadings()
in
D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\WmiLib\SystemStatistics.cs:Zeile
25\\r \ \ n bei
CedarLogic.WmiLib.SystemStatistics.get_CurrentTemperature()
in
D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\WmiLib\SystemStatistics.cs:Zeile
87\\r \ \ n bei
TemperatureMonitor.SystemTrayService.CheckSupport()
in
D:\Downloads\TempMonitorSrc\TemperatureMonitorSln\TemperatureMonitor\SystemTrayService.cs:Zeile
260"
- Was Ausnahme hat es zu werfen?
- Dann benötigen Sie einen verbesserten WMI-Anbieter, von Ihrem motherboard-Hersteller. Zählen Sie nicht auf, einen zu bekommen.
- Sie können den Blick auf alle WMI-Objekte mit der "WMI-Studio". Es ist ein explorer für WMI-Objekte. Finden Sie es mit Ihrer Lieblings-Suchmaschine.
- Gibt es irgendeinen anderen Weg, es zu tun ODER was kann ich tun, um ihn zu unterstützen WMI ? Danke.
- ich möchte diese Aufgabe programmgesteuert.
- Ja, ich verstehe das. Ich war einfach nur zu erwähnen, dass das Werkzeug, so dass Sie tatsächlich sehen konnte, was WMI-Objekte sind verfügbar. Der name des Objekts geändert haben kann, basierend auf welche version von Windows Sie verwenden.
- ich habe mit dem tool u angegeben. Es gibt eine Klasse namens "MSAcpi_ThermalXOneTemperature", Aber es sagt, die ausgewählte Klasse nicht Instanz.
- Keine Instanzen bedeutet, Sie sind aus Glück heraus. Leider "Hans Passant' ist richtig. Wenn es keine Instanzen von Klassen in Frage oder Sie sind nicht in der Lage zu finden, ein Objekt, das Ihnen diese Informationen, die Sie haben, um einen WMI-Anbieter werden von Ihrem Hersteller.
- Eins möchte ich klar sein. Es ist wie nichts, was getan werden kann, auf die Mutter in diesem board habe ich nun BZW. kann ich verwenden Sie einige Treiber, die für WMI-Anbieter ? Ich bin neu in WMI...
- Ist dies nicht ein Treiber-Problem. Es ist ein WMI-Komponente, die mit einer zugrunde liegenden Treiber. Gibt es vielleicht einen Treiber für diese Komponente, die Sie installiert haben, aber es scheint nicht zu einem WMI-Komponente unterstützt, die Treiber. WMI ist nur eine Abstraktion für das system-management.
- WMI ist der einzige Weg, um die CPU-temp. info ?
- Ich habe ehrlich gesagt keine Ahnung. Ich bin sicher, es gibt andere Mechanismen, aber ich kenne Sie nicht. Es gibt andere WMI-Objekte, die Informationen über Temperatur. Diese Klassen finden Sie in
root\CIMV2
unterCIM_ManagedSystemElement\CIM_LogicalElement\CIM_LogicalDevice
. Diese Klassen enthalten eine Menge Informationen, nicht nur temp. Sie könnten finden, was Sie dort suchen. Viel Glück.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde empfehlen die folgende Vorgehensweise. Es gibt einige Kostenlose Anwendungen, die überwachung der CPU-Temperatur und zeigt es an. Versuchen Sie, einige und analysieren anschließend die Anwendung, um zu sehen, welche Methoden Sie aufrufen, um zu entdecken, wie Sie funktionieren. Vielleicht haben Sie einen sehr anderen Ansatz, um Ihre bestehenden. Auch Sie könnten in der Lage, nur per E-Mail und Fragen, wie Sie es gemacht haben...
http://www.alcpu.com/CoreTemp/
http://www.techpowerup.com/realtemp/
http://malektips.com/core-temp-cpu-windows-system-tray-taskbar.html
Unterstützt viele verschiedene hardware-sensoren zum sammeln von Temperaturdaten. Besser ist es, zu nehmen, ready to use Lösungen wie diese:
1) Open Hardware Monitor - open-source .NET 2.0-Anwendung:
http://openhardwaremonitor.org/
2) Core-Temp - Kostenlose Anwendung, und .NET-API, um die Temperatur-Daten:
http://www.alcpu.com/CoreTemp/developers.html
Ich weiß, dieser thread ist alt, aber ich wollte hinzufügen, um es mit einem etwas anderen Ansatz. Holen Sie sich die Marke/Modell an der I/O-chip auf dem Mainboard und erhalten Sie das Datenblatt für die I/O-chip (ich werde ein ITE IT8783F chip für die Referenz hier).
Schauen Sie unter so etwas wie Umwelt-Controller und berechnen Sie die Zugriffs-und lese-ports. Ja ... Sie wird haben, um zu verstehen, HEX-und MSB-und LSB-und ich gehe nicht in die Berechnungen/Erklärung hier (out of scope).
Nun, in diesem Fall die access-port ist 295 und der lese-port ist 296. Lesen Sie weiter unten im Abschnitt gibt es eine Tabelle für die Umwelt-Controller Registriert. In diesem Fall, die CPU-Temperatur ist im register 2Ah (oder 0x2A). Also, das VB - /C# - code, den ich verwendet, um ziehen Sie die info-sieht so aus:
Nun, Sie müssen nur herausfinden, was Sie wollen zu tun. Denken Sie daran, wenn Sie feststellen, dass Sie verrückt verrückte zahlen, werden Sie entweder ziehen Sie aus dem falschen register oder Sie implementieren müssen, um einen Skalierungsfaktor (wie du das machst mit Spannungs-Messungen). Auch dies sollte im Datenblatt.