展示会用のパソコンで、ブラウザを強制終了して再起動させる動作を、手早く行いたいという要望がありました。
特定のキーの同時押しで動作して欲しいというので、ホットキーを用意することにしました。
ホットキーはフリーソフトで用意
最初は再起動のバッチファイルにショートカットキーを設定すればいいかと思っていましたが、プロパティを開いてショートカットキーを設定しようとしてもできません。諦めてフリーソフトを探していると、普段使っているCLaunchというフリーソフトにホットキーの設定機能があることに気がつきました。
僕もこのアプリを利用していますが便利です。Windows 8のスタートメニューが使いにくくて入れましたが、Windows 7で使っても便利です。/Windows史上最高のアプリはCLaunch以外に考えられないと思う https://t.co/OjSU2z1hZH
— AJYA (@ajyaa) 2016年2月27日
Tera Termの例ですが、AltキーとSpaceキーを同時に押すと、Tera Termが起動します。
これでホットキーの設定はできるようになりました。
vbスクリプトでバッチファイルを呼び出して、コマンドプロンプト表示を回避
強制終了と再起動は、バッチファイルにtaskkill /IM iexplorer.exe /F iexplorer.exe
と記述して実行すると、ブラウザを強制終了して再起動はできますが、コマンドプロンプトが開きっぱなしになります。
それならばと
start /B taskkill /IM iexplorer.exe /F start /B iexplorer.exe
と記述して実行すると、コマンドプロンプトが一瞬表示されますが、コマンドプロンプトが開きっぱなしということは回避できました。
一瞬表示される現象の回避は無理かと検索すると、以下の記事に方法が書かれていました。
バッチファイルを実行する時に黒いコマンドプロンプト画面を表示しない方法 | パソコンが便利で楽になるものを紹介しています [あまおとろぐ]
Windows8のタスクスケジューラ - マイクロソフト コミュニティ
これらの記事を参考に、以下のファイルを用意しました。
restart.bat
taskkill /IM iexplorer.exe /F iexplorer.exe
restart.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c restart.bat", vbhide
CLaunchのファイル名に「C:\Windows\System32\wscript.exe」、パラメータに「"C:\restart\restart.vbs"」を設定しました。
上記の設定で、コマンドプロンプトが表示されることなく、ブラウザを再起動できるようになりました。