Visual Basic プログラムでは、Windows API 関数を使用してコンピュータ システムを再起動できます。このテキストでは、Windows 95 を終了し、コンピュータ システムをシャットダウンする方法について説明します。
#コンピュータシステムをシャットダウンします
Windows API の ExitWindowsEx 関数を使用すると、Visual Basic プログラムからコンピュータ システムを再起動できます。この関数を使用するには、フォームの通常の宣言セクションに次の宣言ステートメントを含めます。
PRivateDeclareFunctionExitWindowsExLib"user32"(ByVal
uFlagsAsLong,ByValdwReservedAsLong)AsLong
ExitWindowsEx 関数には 2 つのパラメータが必要です。次のフラグの 1 つ以上の組み合わせを使用して、シャットダウン プロセスを実行することを ExitWindowsEx 関数に指示できます。
EWX_FORCE すべてのプロセスを強制終了します。
EWX_LOGOFF すべてのプロセスが強制終了され、ユーザーはログオフされます (loggedoff)。
EWX_POWEROFF コンピュータ システムはシャットダウンされます。省電力機能がサポートされている場合、コンピュータは物理的にシャットダウンされます。
EWX_REBOOTコンピュータ システムがシャットダウンされ、再起動されました。
EWX_SHUTDOWN コンピュータは物理的かつ安全にシャットダウンされました。
次のサンプル プログラムでは、上記の 3 つのフラグを組み合わせて使用します。このフラグの組み合わせ (EWX_LOGOFF、EWX_FORCE、および EWX_REBOOT) は、Windows95 に通常のすべての処理を終了するように指示します。
実行プロセス中に、ユーザーはネットワークからログアウトし、コンピューター システムをユーザーがシャットダウンできる状態にします。
#サンプルプログラム
このサンプル プログラムは、コンピュータ システムをシャットダウンする方法を示します。
1. Visual Basic で新しいプロジェクトを開始し、既定の方法を使用して Form1 を作成します。
2. 次の定数と宣言文を Form1 の通常の宣言セクションに追加します (宣言文は 1 行で記述する必要があることに注意してください)。
PrivateDeclareFunctionExitWindowsExLib"user32"(ByVal
uFlagsAsLong,ByValdwReservedAsLong)AsLong
ConstEWX_LOGOFF=0
ConstEWX_SHUTDOWN=1
ConstEWX_REBOOT=2
ConstEWX_FORCE=4
ConstEWX_POWEROFF=8
ConstEWX_RESET=EWX_LOGOFF EWX_FORCE EWX_REBOOT
3. コマンド ボタン コントロールを Form1 に追加し、既定の方法を使用して Comand1 を作成します。その Caption プロパティを「コンピュータを再起動する」に設定します。
4. 次のコードを Command1 のクリック イベントに追加します。
PrivateSubCommand1_Click()
ディムXアズロング
X=ExitWindowsEx(EWX_RESET,dwReserved)
EndSub
F5 キーを押して上記のサンプル プログラムを実行し、コマンド ボタンをクリックしてコンピュータ システムを再起動します。 ->