
キーボードも色々種類がありまして、中には「電源を切るキー」とか「ログオフするキー」とかがあるようなキーボードもあります。
この「電源を切るキー」は1度押すだけでシャットダウン出来るので素早く終了できるのが便利な点ではありました。
しかし、間違って押すと問答無用でシャットダウンするという少し迷惑なキーでもありましたが…。
WSHのファイルで同じような機能を作る事ができます。
WSHのプログラム
作成方法や起動方法は前回の記事を参照
Option Explicit
Dim moveType,WinObj,WinObjSet
moveType = 1
Set WinObjSet = GetObject( _
"winmgmts:{impersonationLevel=impersonate,(Shutdown)}" _
).InstancesOf("Win32_OperatingSystem")
For Each WinObj In WinObjSet
WinObj.Win32Shutdown moveType
Next
これを実行するとシャットダウン(電源を切る)になります。
他にもmoveTypeの値を切り替える事でシャットダウンやログオフなども利用できます。
| 数値 | 機能 |
| 0 | ログオフ |
| 1 | シャットダウン |
| 2 | 再起動 |
| 4 | 強制ログオフ |
| 5 | 強制シャットダウン |
| 6 | 強制再起動 |
強制は保存していないファイル等があっても実行するタイプの物で、通常の物は確認のダイアログで中断されるタイプの物です。
キーボードの電源を切るボタンではOSの設定次第でも強制1択でしたが、WSHでは切り替える事ができます。
WSHならうっかり保存していない物があるのに電源を切る、なんて事も防ごうと思えば防げるわけです。
機能単体だとちょっと利用価値に疑問かもしれませんが、WSHで他の時間のかかる処理をした後に電源を切るといった事が自動で可能となります。
例えばウイルスセキュリィティソフトでウイルススキャンが終わったらPCの電源を切るような作業が出来ます。