<Return[I]><Top>

InitiateSystemShutdown

Declare Function Api_InitiateSystemShutdown& Lib "advapi32" Alias "InitiateSystemShutdownA" (ByVal lpMachineName$, ByVal lpMessage$, ByVal dwTimeout&, ByVal bForceAppsClosed&, ByVal bRebootAfterShutdown&)

Declare Function InitiateSystemShutdown Lib "advapi32" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) As Long

指定されたコンピュータのシャットダウン処理を開始する。オプションで、再起動を指示することもできる。
シャットダウンの理由をイベントログに記録するには、InitiateSystemShutdownEx 関数を使う。

パラメータ
lpMachineName
    シャットダウンするべきコンピュータのネットワーク名を保持している、NULL で終わる文字列へのポインタを指定する。

    NULL または空の文字列を指定すると、この関数はローカルコンピュータのシャットダウン処理を開始する。
lpMessage
    シャットダウンダイアログボックスに表示するべきメッセージを保持している、NULL で終わる文字列を指定する。

    メッセージが必要ない場合、NULL を指定する。
dwTimeout
    シャットダウンダイアログボックスの表示時間を、秒単位で指定する。

    このダイアログボックスが表示されている間は、AbortSystemShutdown 関数を使ってシャットダウン処理を中止させることができる。
    0 以外の値を指定すると、この関数は、指定されたコンピュータでこのダイアログボックスを表示する。

    ダイアログボックスには、この関数を呼び出したユーザーの名前と、lpMessage パラメータで指定されたメッセージが表示され、ログオフを行う

    ようユーザーに指示する。このダイアログボックスを作成した時点でビープ音が鳴り、このダイアログボックスはシステム内の他のすべてのウィ

    ンドウより手前に表示される。そして、強制終了を実施するまでの残り時間を示すカウントダウンが行われる。

    ユーザーがログオフを指示した場合は、タイムアウト時間を待たずに即座にシャットダウンする。

    それ以外の場合、タイムアウト時間が経過するとシステムはシャットダウンする。
    0 を指定すると、指定されたコンピュータは、ダイアログボックスを表示することなく即座にシャットダウンする。この場合、

    AbortSystemShutdown 関数を使ってシャットダウン処理を中止することはできない。
bForceAppsClosed
    アプリケーション内に、まだ保存されていないデータが存在する場合、そのアプリケーションを強制的に終了させるかどうかを指定する。

    TRUE を指定すると、強制的に終了させる。FALSE を指定すると、アプリケーションを終了するようユーザーに指示するダイアログボックス

    が表示される。
bRebootAfterShutdown
    シャットダウン後、即座にコンピュータを再起動させるかどうかを指定する。

    TRUE を指定すると、コンピュータは再起動する。

    FALSE を指定すると、コンピュータは、電源を切っても安全な状態になったことを示すメッセージを表示する。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。