ウインドウズの”タスク”機能を使用して、アプリを自動的に起動して、自動的に終了させたい!
最初はバッチファイルでいけると思っていたのですが、
taskkillコマンドがウインドウズXPのホームエディションにありません。
探せばあるもんですね、”taskkill0.exe”というフリーソフトがvectorにありました。
見つけておいて何ですが、できるだけ標準の環境でやりたいので見送りました。
そこで、 Windows Script Host、略してwsh を使います。
標準では、VBScriptとJavaScriptの2種類の言語で使えます。
時代はJavaScriptなので”firefox_run_and_exit.js”ファイルを作成しました。
内容は、以下のとおりです。
//
// FireFoxを起動して、終了させる
//
var WshShell = WScript.CreateObject("WScript.Shell");
var command= "\"c:\\Program Files\\Mozilla Firefox\\firefox.exe\" index.html" ;
WshShell.Run( command );
WScript.Sleep( 3 * 1000 );//3秒待つ
WshShell.AppActivate("FireFox");
WshShell.SendKeys("%{F4}");
firefox_run_and_exit.js
をダブルクリックすれば実行できます。
動作はコードを見たまんまです。
起動、待機、アクティブ化、Alt-F4を送信、です。
ポイントはパスの指定です。
本来は
var commnad = "c:\Program Files\Mozilla Firefox\firefox.exe index.html"
と書きたいところです。
しかし、
var command= "\"c:\\Program Files\\Mozilla Firefox\\firefox.exe\" index.html" ;
と書く必要があります。
置き換えルールがこれだけあります。
- パスにスペースが入るときは” ”で囲むべし。Windowsルール。
- \→\\ に置き換えるべし。JavaScriptルール。
- “→\” に置き換えるべし。JavaScriptルール。
なかなか、ややこしいものでした。