2010-09-01 3 views
8

Wie die CPU-Temperatur Infos von Bios mit C# erhalten ich in CPU temperature monitoringWie bekomme ich die CPU-Temperaturinformation von Bios mit C#?

aber kein Glück zu versuchen, um den Code gab. 'enumerator.Current' hat eine Ausnahme ausgelöst.

Wie kann ich das erreichen? Vielen Dank.

Fehler:

„Das System nicht die erforderlichen WMI-Objekte (1) nicht unterstützt, - überprüfen Sie die Ausnahmedatei \ r \ nNicht \ r \ n \ r \ n bei -System unterstützt .Management.ManagementException.ThrowWithExtendedInfo (ManagementStatus errorcode) \ r \ n bei System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext() \ r \ n bei CedarLogic.WmiLib.SystemStatistics.RefreshReadings() in D: \ Downloads \ Tem pMonitorSrc \ TemperatureMonitorSln \ WmiLib \ SystemStatistics.cs: Zeile 25 \ r \ n bei CedarLogic.WmiLib.SystemStatistics.get_CurrentTemperature() in D: \ Downloads \ TempMonitorSrc \ TemperatureMonitorSln \ WmiLib \ SystemStatistics.cs: Linie 87 \ r \ n bei TemperatureMonitor.SystemTrayService.CheckSupport() in D: \ Downloads \ TempMonitorSrc \ TemperatureMonitorSln \ TemperatureMonitor \ SystemTrayService.cs: Linie 260"

+0

Welche Ausnahme hat es geworfen? – Hogan

+2

Sie müssen einen verbesserten WMI-Anbieter von Ihrem Motherboard-Hersteller erhalten. Zählen Sie nicht darauf, einen zu bekommen. –

+0

Sie können alle WMI-Objekte mit dem "WMI Studio" anzeigen. Es ist ein Explorer für WMI-Objekte. Sie können es mit Ihrer bevorzugten Suchmaschine finden. – linuxuser27

Antwort

0

würde ich die folgende Vorgehensweise empfehlen. Es gibt mehrere kostenlose Anwendungen, die die CPU-Temperatur überwachen und anzeigen. Versuchen Sie, einige herunterzuladen und dann die Anwendung zu analysieren, um zu sehen, welche Methoden sie aufrufen, um herauszufinden, wie sie funktionieren. Vielleicht haben sie einen ganz anderen Ansatz zu Ihrem bestehenden. Auch könnten Sie in der Lage sein, nur um sie per E-Mail und fragen, wie sie es taten ...

http://www.alcpu.com/CoreTemp/

http://www.techpowerup.com/realtemp/

http://malektips.com/core-temp-cpu-windows-system-tray-taskbar.html

+2

@Anuya: Wie hast du die CPU-Temperatur endlich bekommen ??? Bitte teilen. –

2

Sie müssen viele verschiedenen Hardware-Sensoren zu unterstützen, um Temperaturdaten zu sammeln. Besser ist es bereit zu nehmen Lösungen wie diese verwenden:

1) Open Hardware Monitor - Open-Source-.NET 2.0 Anwendung:

http://openhardwaremonitor.org/

2) Core Temp - kostenlose Anwendung und .NET-API erhalten Temperaturdaten:

http: // www.alcpu.com/CoreTemp/developers.html

1

ich weiß, dieser Thread ist alt, aber ich wollte es mit einem etwas anderen Ansatz hinzuzufügen. Holen Sie sich die Marke/das Modell vom I/O-Chip auf der Hauptplatine und holen Sie sich das Datenblatt für diesen I/O-Chip (ich werde hier einen ITE IT8783F-Chip als Referenz verwenden). Suchen Sie unter etwas wie Environment Controller und berechnen Sie die Zugriffs- und Lese-Ports. Ja ... Sie werden müssen HEX und MSB und LSB verstehen und ich werde hier nicht in die Berechnungen/Erklärung gehen (außerhalb des Geltungsbereichs). Jetzt ist in diesem Fall der Zugangsport 295 und der Leseport ist 296.Weiter unten in diesem Abschnitt finden Sie eine Tabelle für die Environment-Controller-Register. In diesem Fall befindet sich die CPU-Temperatur im Register 2Ah (oder 0x2A). Also, Code der VB/C# verwendet ich die Info ziehen wie folgt aussieht:

Private Function GetCPUTemp() As UInt32 
    Dim tCpu As UInt32 
    Dim stCpu As Short 
    PortAccess.Outputb(&H295, &H2A) 
    stCpu = PortAccess.Inputb(&H296) 
    tCpu = CType(stCpu, UInt32) 
    Return tCpu 
End Function 

Nun, man muss nur herausfinden, was Sie damit tun wollen. Denken Sie daran, wenn Sie feststellen, dass Sie verrückte Zahlen bekommen, ziehen Sie entweder aus dem falschen Register oder Sie müssen möglicherweise einen Skalierungsfaktor implementieren (wie bei Spannungswerten). Dies sollte auch im Datenblatt sein.

+0

Hier ist ein relevantes Dokument von Intel, CPU Monitoring mit DTS/PECI vom September 2010, http://download.intel.com/design/intarch/papers/322683.pdf mit einigen Informationen über die Interpretation von Temperaturdaten von Intel-Prozessoren. –