システムの電源をシャットダウンする
Declare Function SetSystemPowerState Lib "kernel32.dll" _
(ByVal fSuspend As Long, ByVal fForce As Long) As Long
Declare Function SetSystemPowerState Lib "kernel32.dll" _
(ByVal fSuspend As Integer, ByVal fForce As Integer) As Integer
BOOL SetSystemPowerState(
BOOL fSuspend,
BOOL fForce
);
引数
fSuspend
常に0fForce
| 1のとき | PBT_APMSUSPENDを全てのアプリケーションとドライバに送り ただちにシャットダウンの状態にする |
| 0のとき | PBT_APMQUERYSUSPENDを全てのアプリケーションとドライバに送り シャットダウンしてよいかどうか問い合わせる |
シャットダウンしていて、システムが回復したとき 0以外備考
シャットダウンできなかったとき 0
アプリケーション or ドライバがシャットダウンを拒否したとき、PBT_APMQUERYSUSPENDFALIEDを
全てのアプリケーションとドライバに送る。
システムがシャットダウンするとWM_POWERBROADCASTメッセージを
全てのアプリケーションとドライバに送り、システムが回復するまで戻らない。
でもSDKの解説どおりの動作にならないらしい。