Auslesen, ob Notebook im Akkubetrieb ist

djerazor

Cadet 4th Year
Registriert
Juli 2006
Beiträge
99
Hallo,

ich möchte ein Notebook als Car-PC (http://www.car-pc.info) verwenden.

Damit der Ruhezustand aktiviert wird, wenn das Auto ausgeschaltet ist, möchte ich auslesen, ob das Notebook auf Akkubetrieb umgeschaltet hat.

So kann man dann verschiedene Events steuern.

Kennt jemand ein Tool mit dem man das herausbekommen kann, bzw. eine API die man per Visual Basic verwenden kann.

Vielen Dank für die (hoffentlich) zahlreichen Antworten.;)
 
Welcome to the Base!

In der Win32-SDK steht doch eigentlich alles, was man(n) dazu wissen muss:

The GetSystemPowerStatus function retrieves the power status of the system. The status indicates whether the system is running on AC or DC power, whether the battery is currently charging, and how much battery life currently remains.

Code:
BOOL GetSystemPowerStatus(

    LPSYSTEM_POWER_STATUS lpSystemPowerStatus    
   );


Parameters

lpSystemPowerStatus

Pointer to a SYSTEM_POWER_STATUS structure that receives status information.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
und zur Erklärung was das ding für ne Struktur hat hier noch

The SYSTEM_POWER_STATUS structure contains information about the power status of the system.

Code:
 typedef struct _SYSTEM_POWER_STATUS {
    BYTE ACLineStatus;           
    BYTE  BatteryFlag;           
    BYTE  BatteryLifePercent;    
    BYTE  Reserved1;             
    DWORD  BatteryLifeTime;      
    DWORD  BatteryFullLifeTime;  
} SYSTEM_POWER_STATUS;
typedef struct SYSTEM_POWER_STATUS *LPSYSTEM_POWER_STATUS;


Members


ACLineStatus

AC power status. This parameter can be one of the following values:

Value Meaning
0 Offline
1 Online
255 Unknown status.


All other values are reserved.

BatteryFlag

Battery charge status. This parameter can be a combination of the following values:

Value Meaning
1 High
2 Low
4 Critical
8 Charging
128 No system battery
255 Unknown status


All other values are reserved.

BatteryLifePercent

Percentage of full battery charge remaining. This member can be a value in the range 0 to 100, or 255 if status is unknown. All other values are reserved.

Reserved1

Reserved; must be zero.

BatteryLifeTime

Number of seconds of battery life remaining, or 0xFFFFFFFF if remaining seconds are unknown.

BatteryFullLifeTime

Number of seconds of battery life when at full charge, or 0xFFFFFFFF if full lifetime is unknown.



Remarks

Windows 95 is only capable of estimating BatteryFullTime based on calculations on BatteryLifeTime and BatteryLifePercent. Without smart battery subsystems, this value may not be accurate enough to be useful.
Eigentlich müsstest du aus der ganzen Struktur nur den ACLineStatus auf seinen Wert überprüfen und daraufhin handeln.
 
Zuletzt bearbeitet:
wow, was für eine ausführliche antwort.

Vielen Dank, werd dann mal mein tool posten, sobalds fertig ist.

Schönen Tag noch.
 
HI,

irgendwie bekomme ich das nicht hin. Wäre es viel Aufwand für einen von euch, mir diese Funktion als VB-Code zukommen zu lassen?

Danke

Edit: ------------------------

Hey, hat sich schon erledigt. Hab unter http://www.shadoware.de/vb/powerstatus.html die Lösung gefunden.

Danke an alle, die sich darüber Gedanken gemacht haben.
 
Zuletzt bearbeitet von einem Moderator: (Doppelpost zusammengeführt.)
Zurück
Oben