GetSystemPowerStatus function (winbase.h)

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, how much battery life remains, and if battery saver is on or off.


BOOL GetSystemPowerStatus(
  [out] LPSYSTEM_POWER_STATUS lpSystemPowerStatus


[out] lpSystemPowerStatus

A pointer to a SYSTEM_POWER_STATUS structure that receives status information.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


To compile an application that uses this function, define the _WIN32_WINNT macro as 0x0400 or later. For more information, see Using the Windows Headers.


Requirement Value
Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header winbase.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

Power Management Functions


System Power Status