Autor Beitrag
mke
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 13.04.05 17:09 
Hallo Leute,
könntet ihr mir sagen wie mann die cpu, mainboard und festplatten temperatur mit einbauen kann?

/mke
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 13.04.05 18:40 
Nein, kann ich leider nicht.

Aber das ist auch von Board zu Board verschieden. D.h. du müsstest bei den einzelnen Herstellern nachfragen, wie du an die Daten der Temperatursensoren drankommst. Dürfte relativ aufwendig werden.

btw.: frau darf das auch, oder? :lol:

_________________
We are, we were and will not be.
noname40
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 06.05.05 18:31 
Hi,

die CPU Temp, etc. mit einzubauen ist eigentlich gar nicht so schwer.

Ich habe ein ASUS Mainboard und auf meiner HDD ist Asus PC´Probe installiert welches auch unter www.asuscom.de zu downloaden steht.

In dem Verzeichnis liegen einige DLL´s für verschiedene MB und Chipsätze und unter anderem die ASUS.DLL.

Mit dem Dependency Walker kann man sehen welche Funktionen exportiert werden:

DMI_GetBIOSDate
DMI_GetBIOSVender
DMI_GetBIOSVersion
DMI_GetCPUFamily
DMI_GetCPUID
DMI_GetCPUInfo
DMI_GetCPUVendor
DMI_GetCPUVersion
DMI_GetCPUVoltage
DMI_GetMBClock
DMI_GetMBManufacturer
DMI_GetMBProduct
DMI_GetMBSerial
DMI_GetMBSocket
DMI_GetMBVersion
DMI_IsASUSMB
DMI_IsDMI20BIOS
DMI_IsNoteBook
GetCPUName
GetCPUNominal
GetCPUOffset
GetCPUOS
GetCPUTemperature
GetCPUTemperature2
GetCPUVCore
GetFanChasis2RPM
GetFanChasisRPM
GetFanCPURPM
GetFanPowerRPM
GetMBTemperature
GetVoltIN0
GetVoltIN1
GetVoltIN2
GetVoltIN3
GetVoltIN4
GetVoltIN5
GetVoltIN6
SetCPUFan
SmbReadByte
SmbReadWord
SmbWriteByte
SmbWriteWord
TheCPUIsUnknown
WriteCPUInfoIntoRegistry

Somit muss man in seinem Source nur folgende Zeilen einfügen:

interface
...
function GetCPUTemperature: Cardinal; external 'ASUS.DLL';
...
implementation
...
... := GetCPUTemperature;

________________
.oooO NN40 Oooo.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.05.05 20:13 
user profile iconnoname40 hat folgendes geschrieben:

Somit muss man in seinem Source nur folgende Zeilen einfügen:

interface
...
function GetCPUTemperature: Cardinal; external 'ASUS.DLL';
...
implementation
...
... := GetCPUTemperature;

Interessant. Selber schon probiert? Woher weißt du, dass die Temperatur nicht im var Paramter steht und die Funktion True oder False zurückgibt? Wie sieht es beim nächten Modell des Mainboards aus? Was wenn dort die Funktion geändert wurde? Und wie viele DLLs für wie viele Mainboards willst du mitliefern?
themaddin
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 07.10.05 23:08 
hehe, ASUS rockt. :lol: Das mit der DLL funktioniert, falls es noch jemanden interessiert.
hier der Code:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
unit MBCUnit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

   function GetCPUTemperature: Cardinal; external 'ASUS.DLL';
   function GetMBTemperature: Cardinal; external 'ASUS.DLL';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := FloattoSTr(GetCPUTemperature);
edit2.Text := FloattoStr(GetMBTemperature);
end;

end.


Ach ja, der verlangt noch zehntausend andere DLLs aus dem Asus Verzeichnis, hab alle rüber kopiert....

MfG
Martin
drstar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 79
Erhaltene Danke: 2

Windows 8.1/x64
Delphi 10.1
BeitragVerfasst: So 09.10.05 18:43 
Damit funzt aber nur die MB-Temperatur, oder? Bin gerade dabei, SMART zu entschlüssln, ist leider mühselig, da die Hersteller der Platten leider immer eigene Süppchen kochen und sich nicht an die Standards (, die übrigens entgegen vieler Meldungen nicht exakt definiert wurden!) halten. Maxtor und WD sind schon großteils entschlüsselt, jetzt kommt noch der Rest (Seagate, IBM, die alten Hitachi-Modelle...)
Werde in ein bis zwei Wochen eine Unit bereitstellen, die eine Datenbank bereithält. Man muß ihr lediglich mitteilen, welches Device (physikalisch, nicht logisch) ausgelesen werden soll, und sie spuckt nen ganzen Haufen Infos aus (korrigierte Schreib-/ Lesefehler, nicht korrigierte Schreib-/ Lesefehler, Betriebsstd., Startvorgänge, akt. Betriebstemperatur, max. Betriebstemperatur). Ist ganz nützlich, um eine Platte auf Herz und Nieren zu prüfen...
Hat nur einen Nachteil: Im BIOS muß S.M.A.R.T akiviert sein, und natürlich muß die Platte dieses Feature auch unterstützen (trifft auf alle halbwegs aktuellen Platten zu). Windows stört sich daran übrigens nicht, da es mit den Daten ohnehin nicht s anfangen kann und sie deshalb einfach ignoriert...

_______________
Bearbeitet...
_______________

Hinweis: Diese Unit wird vorerst nur mit Parallel-ATA-Laufwerken funktionieren, nicht mit S-ATA-Laufwerken. Bin mir ohnehin nicht sicher, ob bei S-ATA die Standards verändert wurden, muß mal meinen RAID-Treiber zerpflücken, vielleicht bringt das ja später noch was.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: So 09.10.05 22:22 
Dein Forscherdrang ist bewundernswert ehrlich aber da es keine einheitlichen Standarts gibt ist das mehr als mühselig und da haben auch schon viele aufgegeben weil es echt 0 Support seitens der Hersteller gibt.

Hier ein paar Tools die dennoch sowas unterstützen:
www.samurize.com, Speedfan(www.almico.com), MotherBoardMonitor(mbm.livewiredev.com/)

Vielleicht kriegst du da ja Ideen/Infos/...

Ich bin mir nciht sicher aber viel Statistisches lässt sich auch über WMI, Windows Measurement Interface erfahren, ob Temp,... dazugehören weiß ich aber nciht...
magu
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 18.09.06 00:48 
nabend

seit asus probe 2 gibt es ja diese asus.dll nicht mehr. stattdessen eine pro2.dll und weitere...
ich habe diese bereits mit dem dependency walker angesehen und konnte nur wenig brauchbares finden.
google gibt auch nicht viele infos her

weiß vielleicht jemand ob ich mit den dlls auch irgendwie die temperaturen und spannungen auslesen kann?

gruß
magu
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Fr 30.03.07 19:28 
Ho,

Ich suche verzweifelt die Asus.dll

das Probe läst sich bei mir nicht installieren, Der meint das mein Asus P5B nicht Aktuell genug sei. Kann mir jemand vielleicht diese Blöde Dll zusenden ?

_________________
--
Just Try it.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 30.03.07 22:51 
User von AMD-CPU können sich die Temperaturen von CORE 0 und CORE 1 anzeigen lassen - incl. Sourcecode.

S.M.A.R.T.-Werte lassen sich auch mit DELPHI auslesen - incl. Sourcecode.
Einloggen, um Attachments anzusehen!
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Fr 30.03.07 23:00 
Da hab ich mir nu endlich mal ein Intel geleistet und wieder nix :(

Asus.dll erkennt mein Chipsatz net dieses blöde DIng behauptet das er zu Alt ist , dabei ist mein Bpoard grad mal 5 Wochen alt oder so.

Kennt einer von euch noch nen Trick ?

_________________
--
Just Try it.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 05.04.07 18:04 
Titel: Temperatur der Grafikkarte auslesen
Bei NVIDIA mit GPU-Sensor (z.B.GeForce 6600GT, 7300 GT, 8800 GTS u.a.)
kann man die Temperatur der Grafikkarte messen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
function GetGpuTemp: cardinal;
type
  NvCplGetThermalSettings = function(WindowsMonitorNumber: UINT;pGpuTemp, pUmgebTemp, pSlowDownTemp: Pointer): BOOL;stdcall;
var
  hInstNvcpl: THandle;
  GetThermalSettings: NvCplGetThermalSettings;
  UmgebTemp, SlowDownTemp: cardinal;
begin
  Result := 0;//GPU-Temperature
  UmgebTemp := 0;//Umgebungstemperatur
  SlowDownTemp := 0;//Slowdown

  hInstNvcpl := LoadLibrary('nvcpl.dll');
  if hInstNvcpl <> 0 then
    try
      GetThermalSettings:= GetProcAddress(hInstNvcpl,'NvCplGetThermalSettings');
      if Assigned(GetThermalSettings)  then
        GetThermalSettings(0, Addr(Result), Addr(UmgebTemp), Addr(SlowDownTemp));
    finally
      FreeLibrary(hInstNvcpl);
    end;
end;
HelgeLange
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: Do 05.04.07 18:14 
seltsam, ich habe zwar die nvcpl.dll im System32-Verzeichnis, kann sie aber nicht als library laden, das Handle ist immer 0 :(
Habs auch schon mit absolutem Pfad probiert...

_________________
"Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Do 05.04.07 18:17 
*g*

den Source hab ich doch schon ewig.

Wie gesagt GPU und MB temp kann ich auslesen.

Mein Problem ist die CPU Temp.

Das Asus Probe II kann das zwar , und das Speedfan Proggy auch. Aber das Bringt mir leider gar nichts.

Da der Speedfan Programmierer sich nicht mal auf die FrageEmail meldet und die Genauen ExportParameter bei Asus habe ich auch nicht rausbekommen können, nach Meinung diverser leute die sich damit wohl auskennen ginge das in Richtung Hacken und das ist ja nicht erlaubt. Also bleibt mir zur Zeit nichts anderes Übrig als mit 2 Programmen zu arbeiten :(

_________________
--
Just Try it.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 05.04.07 19:22 
@Corpsman:

Es wäre nett und hilfreich, wenn Du nicht von uns Hellseherei erwartest.
Warum muss man Dir sämtliche nötigen Informationen "aus der Nase ziehen"?
Glaubst Du, wir lesen alles, was Du in anderen Foren preisgibst?

Was für einen EC-Chip etc. Du hast kannst Du doch wohl feststellen:
schau einfach ins Manual oder aufs Board!!!
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 05.04.07 20:50 
Hier ist ein Programm, mit dem man u.a. die Register (enthält Temparaturen,Spannungen,Drehzahlen etc.) des EC auslesen kann:
(funktioniert nur, wenn die althergebrachten KeyboardControllerAdressen benutzt werden: EC_SC,EC_DATA:0066,0062) Mit den gewonnenen RegisterAdressen lässt sich dann leicht ein DELPHI-Prog. füttern.

RW-Everything: RW - Read & Write

jacky5488.myweb.hinet.net/
jacky5488.myweb.hinet.net/bin/RwV022.zip
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Fr 06.04.07 10:15 
@hathor

sry, das Problem ist das Delphipraxis.net und delphi-forum.de vom Layout her so ähnlich sind.

und da merke ich das manchmal gar nicht in welchem Forum ich nun Poste.

Ich habe ein Asus P5B.
Und das mit dem Auslesen der Chip informationen blicke ich nun mal leider nicht so Recht.

Laut Gerätemanager ( siehe Screenshot ) ist es wohl ein ICH8 Chip. Was auch immer das sein soll.


Dieses RW Tool hab ich glatt mal installiert. Und WAO das zeigt einem ja wohl alles an. Nur verstehe ich es leider net.

Habe das CPU Ding aufgemacht und nen Screenshot mit hochgeladen. Vielleicht sagt dir das ja was.
Einloggen, um Attachments anzusehen!
_________________
--
Just Try it.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.04.07 12:43 
Interessant ist z.Zt. nur, was Du siehst, wenn Du das EC-Symbol anklickst (das 7. von rechts in der Symbolleiste).
Da ändern sich im Sekundentakt verschiedene Werte -das sind Werte, die der Embedded Controller (EC) dem Betriebssystem zur Verfügung stellt - und neugierigen Usern...
Auf Mainboards nennt man einen ähnlichen Chip Super-I/O-Chip - SIO: vielleicht hast Du das auch schon mal angeklickt - was siehst Du da?

de.wikipedia.org/wiki/Embedded_Controller

BTW: Kannst Du die Temperaturen mit ACPI anzeigen lassen?
Das ATK0110 ACPI Utility hast Du, wie ich gesehen habe.
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Fr 06.04.07 18:00 
ho,

Also wenn ich auf das EC Symbol klicke dann öffnet sich das Popup was man im Screenshot sieht. Klicke ich dann da auf OK gibts "Embedded Controler not found"

Beim SIO ändert sich aber nichts.

Wie kann ich denn die Temps mit "ACPI" anzeigen lassen ?

ich wuste bis grad gar nicht das mein Rechner das kann ?
Einloggen, um Attachments anzusehen!
_________________
--
Just Try it.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.04.07 19:12 
Das 1.Programm im Anhang zeigt:

'MSAcpi_ThermalZoneTemperature','CurrentTemperature'

Es funktioniert nicht auf allen PC (weil MS auch hier Mist gebaut hat)!
Manchmal wird eine Temperatur angezeigt, es erfolgt aber kein regelmässiges Update. Die Temperatur entspricht dann der Temperatur beim Booten von WINDOWS.

Das 2.Programm im Anhang zeigt die CPU-Temperatur mit ACPI-Update.
(und andere Parameter - sinnvoll für Notebooks)
Einloggen, um Attachments anzusehen!