![]() |
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. |
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: ![]() Gruß blackdrake |
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. |
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 |
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 15:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz