AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

CPU Temperatur Auslesen

Ein Thema von Corpsman · begonnen am 30. Mär 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: CPU Temperatur Auslesen

  Alt 2. Apr 2007, 21:02
Die w83781d.dll bringt dir doch nichts, die funktioniert nur auf Gigabyte Boards.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#22

Re: CPU Temperatur Auslesen

  Alt 10. Aug 2007, 17:46
Thank you for the example and reference.

Does ABIT also has somekind of tool or dll and maybe Asrock(sucks i know).Or if anybody knows about any other dll from other companys?


Thanks!
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: CPU Temperatur Auslesen

  Alt 12. Aug 2007, 00:24
Moin,

zum Auslesen der CPU- und System Temperatur von meiner Gigabyte Hauptplatine benutze ich mittlerweile folgende Funktion:
Delphi-Quellcode:
function GetTempValue(Sensor: Byte): cardinal;
var
  hInstDll: THandle;
  Get_CPUTempValue: procedure(Sensor: Byte; pTemp: PCardinal) stdcall;
  Pfad: AnsiString;
begin
  Result := 0;
  Pfad := Format('%sw83781d.dll', [ExtractFilePath(Application.ExeName)]);
  if FileExists(Pfad) then
  begin
    hInstDll := LoadLibrary(PChar(Pfad));
    if hInstDll <> 0 then
      try
        Get_CPUTempValue:= GetProcAddress(hInstDll, 'W_Get_TempValue');
        if Assigned(Get_CPUTempValue) then
          Get_CPUTempValue(Sensor, @Result);
      finally
        FreeLibrary(hInstDll);
      end;
  end
  else
    MessageDlg(Format('Die Datei "%s" konnte nicht gefunden werden!', [Pfad]), mtError , [mbOK], 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  System = 1;
  CPU = 2;
begin
  //caption:= inttostr(GetTempValue(CPU));
  caption:= inttostr(GetTempValue(System));
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#24

Re: CPU Temperatur Auslesen

  Alt 12. Aug 2007, 00:25
http://www.delphipraxis.net/internal...t.php?t=116098
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#25

Re: CPU Temperatur Auslesen

  Alt 12. Aug 2007, 10:31
Es gibt viele Leute, die immer noch nicht wissen, was ein EC (Embedded Controller) ist.

http://de.wikipedia.org/wiki/Embedded_Controller

Im Anhang können sich Interessierte ein PDF-File in ENGLISH downloaden, das den PC87591 beschreibt - 437
Seiten!!!
Eine Frage in einem Forum (Welcher EC ist in Eurem Notebook?) brachte KEINE einzige brauchbare Antwort!
Ich habe 2 verschiedene Notebooks von HP, die den gleichen EC (Winbond (früher NS) PC87591) enthalten,
aber die Register, die für mich interessante Werte enthalten, sind nicht identisch. Das heisst, dass ein
Programm, das z.B. die CPU-Temperatur der CPU-Temperaturdiode (die CPU-Temperaturdiode ist direkt über 2
Leitungen mit dem EC verbunden) aus dem betreffenden Register ausliest (als HEX-Wert: z.B. 30 entspricht
48°C), beim anderen Notebook ohne Änderung nicht funktioniert - es müsste also die relevanten Infos aus
einer INI-Datei auslesen (den Müllhaufen REGISTRY mag ich nicht!).
Da es aber zahllose EC von vielen Chip-Herstellern gibt, ist es unmöglich, ein Programm zu entwickeln, das
Temperaturen, Drehzahlen, Spannungen etc. direkt aus dem EC ausliest - und das OHNE Änderung auf vielen
Notebooks oder PC läuft. Dass manche Entwickler von dieser Situation frustriert sind wie A. van Kaam (MBM)
ist verständlich. Dass Anfragen an PC- oder Notebook-Hersteller (wer weiss eigentlich, wer der Hersteller
seines Notebooks ist??? - z.B. Hersteller des HP ZV5188EA ist COMPAL(Support:0)) ins Leere laufen, ist
kein böser Wille - sie können sie einfach nicht beantworten, weil sie die Einzelheiten des EC-BIOS (nicht
verwechseln mit dem, was man üblicherweise unter BIOS versteht) nicht kennen!!! Dass es sehr selten
EC-BIOS-Updates gibt, darf in diesem Zusammenhang nicht verwundern. LENOVO (früher IBM) ist da eine
rühmliche Ausnahme, die sogar 4 Jahre nach einer Notebook-Einführung noch Updates herausgibt.
Die ursprünglichen Adressen, unter denen früher die Keyboard-Controller (KBC) angesprochen wurden, gelten
nur in seltenen Fällen. Aus den KBC entwickelten sich die EC, die die SUPER-I/O-Controller-Funktionen
integrieren, die in Desktop-PC enthalten sind (häufig im Chipsatz enthalten).
Wie kommt man dann an Messwerte, wenn man manchmal (oder häufig?) nicht weiss, welcher EC vorhanden ist?
Im Betriebssystem kann man nicht viel Hilfe erwarten - ACPI oder WMI liefern fast nie brauchbare Werte -
beim HP ZV5188EA kann man zwar die CPU-Temperatur auslesen, aber der Wert entstand beim Booten des
Betriebssystems - ein regelmässiges Update des MSAcpi_ThermalZoneTemperature-Wertes findet nicht statt.
Weitere Werte gibt es garnicht - nicht einmal die Charge Rate (Lade-Entladestrom), bei meinem 2.Notebook
funktioniert beides (HP ZE4228, Hersteller unbekannt, gleicher EC).
Wenn vom Hersteller Monitoring-Programme mitgeliefert werden, hat man Glück gehabt. Vielleicht besteht
dann die Möglichkeit, vorhandene DLLs in eigene Programme einzubinden.
MICROSOFT und INTEL haben es bis heute versäumt, Standards zu setzen, deshalb werden Fragen "Wie kann man
...auslesen?" auch in Zukunft häufig unbeantwortet bleiben müssen!
Angehängte Dateien
Dateityp: rar embedded_controller_pc87591_209.rar (1,75 MB, 56x aufgerufen)
  Mit Zitat antworten Zitat
Razor
(Gast)

n/a Beiträge
 
#26

Re: CPU Temperatur Auslesen

  Alt 14. Aug 2007, 00:37
Danko hathor!

Now i understand what EC is all about and what it can do.Its basicly a Super I/O chip.About that RW tool ill post the name of EC tommorow of my notebook!

Again thank you very much!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf