この記事はWindows 8/8.1当時の画面と手順を記録したものです。Windows 8.1のサポートは2023年1月10日に終了しました。現在のWindowsでは画面、設定場所、利用できる機能が異なるため、利用中のWindowsに合った公式情報も確認してください。
終了オプションダイアログと言われると何か分からないかと思いますが、以下の様な表示のことです。


この表示、XPならばシャットダウンをしようとすればよくでてきましたが、Vista以降はデスクトップ画面で「Alt」+「F4」キーを同時押ししないと見かけなくなりました。スタートメニューや、チャームバーからすべて選択できるようになったからですね。
Vista や 7 はスタートメニューからシャットダウンやログオフが指定できますが、Windows8以降はスタートメニューもなく操作しづらいところがあります。
そこで、このダイアログを出すスクリプトを作り、タスクバーへ登録する方法を紹介します。
タスクバーへ登録しておけばいつでもワンクリックで終了オプションダイアログを呼び出せるようになるので、操作性が向上します。

終了オプションダイアログを出すスクリプトを作る
それでは、まず終了オプションダイアログを出すスクリプトを作ります。
ちなみに、タイトルはWindows8となっていますが、別にVistaとかでも可能です。
メモ帳などを起動してテキストファイルを作成します。
テキストには下記のように記述してください。(コピーでOKです)
dim objShell
set objShell = CreateObject("shell.application")
objshell.ShutdownWindows
set objShell = nothing
VBScript コードを書いています。WindowsのShellオブジェクト (ShellApplication)を呼び出して「ShutdownWindows」を実行します。これで終了オプションダイアログを呼び出します。
※「dim objShell」と「set objShell = nothing」は別に無くても実行できますが、きっちり処理の開始からメモリ解放までを書いたほうがいいような気がするので書きました。
テキストを保存したら、テキストファイルの拡張子を「.vbs」に変更します。
これでこのファイルはプログラムとして起動させることができます。
ダブルクリックをして起動させてみてください。終了オプションダイアログが表示されれば成功です。



タスクバーへ登録
さて、これで終了オプションダイアログが表示されるファイルが作成できました。
後はこれをそのままタスクバーへ登録すればOKじゃん!と思われるかもしれませんが、実はうまくいきません。このファイルをそのままタスクバーへ登録しようとして実行すると「Windows Script Host」という表示がでるだけで実行できません。


Windows Script Host(ウィンドウズ スクリプト ホスト)とは、テキストファイルに記述したスクリプトを実行する環境のことです。WSHと略されます。標準では、VBScriptとJScriptを利用できます。他のスクリプト言語用の動作環境をインストールすればPerlなども扱えるようになります。
タスクバーでも実行できるように「WScript オブジェクト」を利用する
そこで、スクリプトをタスクバーで実行できるようにWSHの「WScript オブジェクト」を利用します。
先ほど作成したVBScriptを任意の場所に移動・保存させます。
VBSファイルのショートカットを作成します。


作成したショートカットファイルを右クリックし、「プロパティ」を選択します。
「ショートカット」タブを開いて、「リンク先」の先頭に「wscript」を付け加えて適用します。
ファイルのパスと「wscript」の間には半角スペースを入れます。
すると、アイコンが変化します。


ショートカットアイコンであれば好きにアイコンが変更できるので、わかりやすいアイコンへ変更してみます。
「ショートカット」タブ内の「アイコンの変更」を選択します。
VBSファイルになっているので、アイコンの参照先は「wscript.exe」になっていますが、ここは数が少ないので「SHELL32.dll」を選択します。参照場所は下記の通りです。
%SystemRoot%system32SHELL32.dll
電源ボタンのようなアイコンがあるので、今回はこれにしましょう。


作成したショートカットファイルをタスクバーへ登録します。
「WScript オブジェクト」を利用することでVBScriptをDOS画面を表示させずに実行させることができます。似たオブジェクトで「cscript オブジェクト」も使えますが、こちらは実行すると一瞬だけDOS画面が表示させるのでこれくらいのスクリプトなら「WScript オブジェクト」の方がスマートです。
タスクバーへ登録し、実行して終了オプションダイアログが表示されたら成功です。


まとめ
以上、終了オプションダイアログを出すスクリプトをタスクバーへ登録し実行できるようにしてみました。
Windows8以降だとスタートメニューがないので、こういったシャットダウン関連の操作が悪くなっています。最初は面倒ですが、こういったことで少しずつ操作しやすくなっていくのでよろしければお試しください。





