電源を切るWSHファイルの作り方

この記事がお役に立てたならシェアしてくれると嬉しいです。

sockets-326487
キーボードも色々種類がありまして、中には「電源を切るキー」とか「ログオフするキー」とかがあるようなキーボードもあります。

この「電源を切るキー」は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の電源を切るような作業が出来ます。

スポンサーリンク

この記事がお役に立てたならシェアしてくれると嬉しいです。


最新記事の更新情報をお届けします。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)