2008/05/19 (月) 20:28:57        [qwerty]
Windowsをシャットダウンするには ExitWindowsEx APIを使用します。

BOOL ExitWindowsEx(UINT uFlags, DWORD dwReserved);

パラメータ:

uFlags シャットダウンの種類。
以下の値を組み合わせて指定します。 
値 意味 
EWX_FORCE プロセスを強制的に終了させます。 
EWX_LOGOFF 現在のユーザーをログオフさせます。 
EWX_POWEROFF システムをシャットダウンした後、電源を切ります。
システムは、パワーオフ機能をサポートしていなければなりません。 
EWX_REBOOT システムを再起動します。 
EWX_SHUTDOWN システムをシャットダウンして、電源を切っても大丈夫な状態にします 
 
dwReserved 予約済み。
このパラメータは無視されます。 

EWX_POWEROFF,EWX_REBOOT,EWX_SHUTDOWNを指定する場合
Windows NTの場合呼び出し側のプロセスが、SE_SHUTDOWN_NAME 特権を持っていなければなりません。

戻り値:
   成功したとき0以外の値が返ります。
   そうでないとき0が返ります。


http://www.h4.dion.ne.jp/~fht/wptips/shutdown.html