WSH2.0について


このドキュメントはJavaScriptについて知識があるという前提で書かれています。

■WSH2.0 概要

Windows Script Host2.0は、従来のバージョンに比べて 幾つかの機能の追加が計られています。
なお、Windows2000では標準のスクリプトホストとしてWSH2.0が搭載されてる模様です。

■Support for multiple engines

WSH2.0では、一つのファイル内にて複数のスクリプトエンジンを使い分ける事が可能です。(.wsfファイル)
つまり普段書きなれているプログラム言語でメインの処理を書いて、 必要に応じて各言語の機能などを呼び出す事が出来ます。 例えば、JScriptで変数を定義しつつ、VBScriptで関数を定義して、 PerlScriptでそれを呼び出し実行するという荒業も可能になりました(笑)。 こんな感じです。

■ドラッグアンドドロップ対応

従来までWSHのプログラムに引数を渡したい時、 コマンドライン上でのみしか渡す事は出来ませんでした。
WSH2.0ではドラッグアンドドロップ対応を スクリプトファイルに持っていく事により、D&Dされたファイルのパスを渡す事が出来ます。

■主な新命令

-- Sleep

WScriptオブジェクトにSleepメソッドが追加されました。 これによりプログラムの実行中に、任意の時間ウェイトをかけることが可能になりました。 setTimeoutがなくて不便だと思っていた人に朗報です。
  (用例) WScript.Sleep(1000); //単位は1/1000秒。この場合1秒間ウェイトがかかる。

-- AppActivate

WshShellオブジェクトにAppActivateメソッドが追加されました。 これは、引数で与えられた任意のタイトルのウインドウをアクティブにします。
  (用例) WshShell.AppActivate("ほにゃらら"); //"ほにゃらら"というタイトルのウインドウをアクティブに。

-- SendKeys

WshShellオブジェクトにSendKeysメソッドが追加されました。 これは、現在アクティブなウインドウ(アプリケーション)に任意のキーコードを送る事が出来ます。
  (用例) WshShell.SendKeys("%F4"); //アクティブなウインドウにAlt+F4を送ってウインドウを閉じさせる例。