Temperatursensoren des PCs über die winAPI. Geht das?



  • Hi

    Ich möchte mal ein Programm schreiben, mit dem man die CPU Temperatur usw. auslesen kann.

    Ich hab mal irgendwo gelesen, dass man sowas mit der winAPI kann...

    wisst ihr da weiter?



  • Nein, kannst du nicht. Du brauchst noch einen Treiber der Zugriff auf die Hardware bietet. Diese Treiber werden aber oft von den Mainboardherstellern bzw. Chipherstellern nicht angeboten bzw. mitgeliefert, und auf einem "normalen System" werden die ganz sicher nicht oder nur in den seltensten Fällen installiert sein. Ganz davon abgesehen dass es dafür kein Standard Interface gibt.

    Eine Möglichkeit ist es Treiber zu verwenden die es dir erlauben einfach beliebige IOs zu machen (Port IO), aber das ist eben auch etwas "heikel", da du dir damit leicht dein System abschiessen kannst (Fehlfunktionen der Hardware, Bluescreen usw.).

    Temperatursensoren auslesen ist (leider) eine ziemlich heikle Geschichte.



  • Na so kompliziert ist das eigentlich nicht. Du kannst dafür WMI ( ➡ Win32_TemperatureProbe) verwenden: http://msdn2.microsoft.com/en-us/library/aa394493.aspx

    Siehe auch hier: http://blog.kalmbachnet.de/?postid=29



  • Da jedes BIOS heute die Temperatur anzeigt und jeder Mainboard-Treiber ein CPU-Tool mit Temp-Anzeige mitbringt, ist es nur logisch, das es einfach auszulesen geht.



  • Aha danke, ich werds mal probieren!



  • hustbaer schrieb:

    Nein, kannst du nicht. Du brauchst noch einen Treiber der Zugriff auf die Hardware bietet. Diese Treiber werden aber oft von den Mainboardherstellern bzw. Chipherstellern nicht angeboten bzw. mitgeliefert, und auf einem "normalen System" werden die ganz sicher nicht oder nur in den seltensten Fällen installiert sein. Ganz davon abgesehen dass es dafür kein Standard Interface gibt.

    Wenn es dafür keine Treiber gibt, die auch oft nicht auf dem System installiert sind, wie sollen dann Programm wie "Everest Home" die Temperatur auslesen? Liefern deiner Meinung nach Programme, die die Temperatur auslesen, alle Treiber aktueller Mainboards mit?? 😕



  • Hmm, also komisch

    WMI liefert nur "0" 😮

    langsam wirds mir zu doof 🙄

    vorallem hab ich mir mal mit dem "dependency walker" die Funktionsaufrufe der Everest.exe angesehen, das teil ladet "nur" die Kernel32.dll, also daher total die Kernel32.dll und die NTDLL.dll

    aber ich hab beide dlls nach temperatur oder bios befehlen abgecheckt und da ist nix zu finden 😕, ist ja echt komisch!?


Anmelden zum Antworten