Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ACPI-Methoden evaluieren (https://www.delphipraxis.net/137315-acpi-methoden-evaluieren.html)

kriegste 18. Jul 2009 15:32


ACPI-Methoden evaluieren
 
Hallo,

weiß jemand, wie man unter Windows ACPI-Methoden evaluieren kann? Gibt es dazu eine API? (Bitte keine Umwege über WMI!)

Unter Linux ist es ja sogar unter der Kommandozeile ziemlich einfach. Beispielsweise genügt ein

cat /proc/acpi/thermal_zone/THRM/temperature

Unter Windows muss es doch einen ebenso simplen Weg geben.

blackdrake 19. Jul 2009 17:45

Re: ACPI-Methoden evaluieren
 
Hallo.

Mit Linux kannst du das überhaupt nicht vergleichen. Dort kannst du vieles einfach mit einem "cat" lösen, da das virtuelle Dateisystem alles schön als Textdateien simuliert. Das gibt es in Windows leider nicht.

Ich befürchte, für Systemdaten gibt es keine API-Funktion. Und wenn, dann müsstest du möglicherweise einen größeren Umweg gehen, da du die Daten interpretieren müsstest.

Ich hatte mal in Delphi Festplattenserialnummern und andere Hardware-Checksummen ausgelesen und hatte dafür eine Unit verwendet, die sich der WMI bedient hat. Daher glaube ich, dass WMI wirklich die direktere (und möglicherweise einzigste) Lösung ist.

Was spricht denn gegen WMI? Ist doch schön, wenn du eine SQL-Query eingibst und schon liefert dir Windows alle Daten, die du angefordert hast! Das einzigste, was dagegen sprechen könnte ist die Kompatibilität mit Windowsversionen kleiner als 2000.

Die Unit hieß übrigens MagWMI: http://www.magsys.co.uk/delphi/magwmi.asp .

Gruß
blackdrake

kriegste 19. Jul 2009 18:02

Re: ACPI-Methoden evaluieren
 
Im Gegenteil, WMI ist leider nicht die direktere Möglichkeit. Es muss definitiv eine Möglichkeit geben, ACPI-Methoden unter Windows direkt aufzurufen.
Ich bin auch bereit, größere Umwege zu gehen. Nur leider habe ich bisher keine Dokumentation zu dem Thema finden können.

blackdrake 19. Jul 2009 18:04

Re: ACPI-Methoden evaluieren
 
Hallo.

Ich weiß nicht genau, in wie fern WMI ein Umweg ist oder nicht. Die Frage ist jetzt aber, wieso willst du WMI nicht verwenden? Wieso würdest du extra einen größeren Umweg gehen, um WMI aus dem Weg zu gehen?

Gruß
blackdrake

OldGrumpy 19. Jul 2009 19:02

Re: ACPI-Methoden evaluieren
 
Um selber ACPI zu benutzen, wirst Du nicht um einen Kernelmode-Treiber herumkommen. Mit dem kannst Du dann entweder via IOCTL den ACPI-Treiber von Windows ansteuern, oder Du implementierst einen Filtertreiber der noch unterhalb von ACPI.SYS sitzt (sofern das vorgesehen ist, das müsste ich nachschauen) und die Kommunikation auch direkt ermöglicht. Alles in allem ein ziemlicher Aufwand und wegen der Kernelmode-Geschichte so gut wie nicht zu schaffen mit Delphi.

Ich schließe mich übrigens der Fragestellung meines Vorposters an: Wozu der ganze Aufstand?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz