AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Akkukapazität via DeviceIOControl
Thema durchsuchen
Ansicht
Themen-Optionen

Akkukapazität via DeviceIOControl

Ein Thema von Dominik · begonnen am 30. Aug 2005 · letzter Beitrag vom 31. Aug 2005
Antwort Antwort
Dominik

Registriert seit: 28. Apr 2003
14 Beiträge
 
Delphi 7 Enterprise
 
#1

Akkukapazität via DeviceIOControl

  Alt 30. Aug 2005, 23:31
Hallo zusammen!

Ich bastle gerade an einem Programm, das die Akkulaufzeit von einem Notebook berechnen kann, da einige Notebooks das leider nicht von sich aus können (scheiß Amilo M...)

Das ganze funktioniert auf Basis von GetSystemPowerStatus schon recht gut, ist mir aber aufgrund der sehr groben Prozent Angaben zu ungenau.

Deshalb möchte ich lieber die verbleibende Kapazität in Wh auslesen. Wie ich auf msdn.com herausgefunden habe ist dies über die Funktion DeviceIOControl möglich. Jedoch bin ich leider beim besten Willen nicht in der Lage mich im MSDN zurecht zu finden und anschließend noch den C-Code in Delphi zu übersetzen.

ich habe außerdem schon hier etwas Delphi Code dazu gefunden, der aber leider bei mir nicht funktioniert.

Kann mir bitte jemand helfen?

Gruß,
Dominik
Dominik Schmies
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Akkukapazität via DeviceIOControl

  Alt 31. Aug 2005, 09:39
Wo hakt es denn? Wo hast du auf MSDN was gefunden?

Mehr Input.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Akkukapazität via DeviceIOControl

  Alt 31. Aug 2005, 09:56
Hey, ich habe doch gerade auf deine Email geantwortet.
Setz das erst mal um und dann frag nochmal.

> Bei mir schlägt bereits die erste Zeile mit einer „Zugriffsverletzung
> bei Adresse 00000000“ fehl:
>
> DevInfo := SetupDiGetClassDevs(@GUID_DEVICE_BATTERY, nil, 0,
> DIGCF_PRESENT
> or DIGCF_DEVICEINTERFACE);


Hier sitzt der Fehler. Das Setup API wird dynamisch geladen, daher ist SetupDiGetClassDevs eine noch uninitialisierte Variable.
Vor der Verwendung der Funktionen des Setup API muss einmal LoadSetupAPI aufgerufen werden und hinterher UnloadSetupAPI.
Vorzugsweise in FormCreate bzw. FormDestroy.

Das Battery API ist in der Win32 Konversion der Jedi Apilib enthalten (JwaBatClass.pas) http://www.sf.net/projects/jedi-apilib
  Mit Zitat antworten Zitat
Benutzerbild von christian.noeding
christian.noeding

Registriert seit: 26. Mai 2005
Ort: Knw.-Remsfeld
119 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Akkukapazität via DeviceIOControl

  Alt 31. Aug 2005, 11:03
Morgen! Wollte nur mein Interesse an dem Programm kund tun - habe zwar selber schon ein Akkuprogramm in Delphi programmiert (Akkuwatcher 1.2) allerdings zeigt dieses nicht die verbleibenden Minuten an, sondern "nur" die Prozentanzeige mit ner Progressbar *g* und den dazugehörigen Meldungen. Du kannst ja den Quelltext adaptieren und dann deine Zeitanzeige-Routinen dazubauen

Kannst dich ja mal melden, falls die Source interessant für dich ist...



tschö,
Christian


PS: mal ein Bild (Alphablending kann per Mausrad geändert werden, wenn der Mauszeiger auf das Fenster zeigt)
http://home.arcor.de/christian.noedi...kkuwatcher.jpg
Christian Nöding
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:34 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