電源(AC・DC)の状態を取得          <TOP>


電源の状態を取得します。

GetSystemPowerStatus 電源の状態を取得

 

NEC VL100/2(AC専用)の場合

左:NEC LL750D(Note)AC電源使用時    右:NEC LL750D(Note)DC電源使用時(満充電)

 

 

'================================================================
'= 電源(AC・DC)の状態を取得
'=    (GetSystemPowerStatus.bas)
'================================================================

Type SYSTEM_POWER_STATUS
    ACLineStatus        As Byte    'ACパワーの状態を示す定数の組み合わせ
    BatteryFlag         As Byte    'バッテリチャージの状態を表す定数の組み合わせ
    BatteryLifePercent  As Byte    'バッテリの残り容量のパーセント(0〜100)
    Reserved1           As Byte    '常に0
    BatteryLifeTime     As Long    'バッテリーの残り秒数
    BatteryFullLifeTime As Long    'フルチャージ時の残り秒数
End Type

' 電源の状態を取得
Declare Function Api_GetSystemPowerStatus& Lib "kernel32" Alias "GetSystemPowerStatus" (lpSystemPowerStatus As SYSTEM_POWER_STATUS)

var SPS As SYSTEM_POWER_STATUS
var Ret As Long

Ret = Api_GetSystemPowerStatus(SPS)

Select Case SPS.ACLineStatus
    Case 0
        Print "AC電源 : OffLine"
    Case 1
        Print "AC電源 : OnLine"
    Case 2
        Print "AC電源 : 判別不能"
End Select

Select Case SPS.BatteryFlag
    Case 1
        Print "DC電源の状態 : High"
    Case 2
        Print "DC電源の状態 : Low"
    Case 4
        Print "DC電源の状態 : Critical"
    Case 8
        Print "DC電源の状態 : Charging"
    Case 128
        Print "DC電源の状態 : No system battery"
    Case 255
        Print "DC電源の状態 : Unknown Status"
End Select

Stop
End