var WShell = WScript.CreateObject("WScript.Shell");
WShell.Sendkeys(string);
とすると、string
で表されるキー列がアクティブなウィンドウに送られます。
scripts/notepad.js (ファイルに保存にしてください)
---------------------------------------------------
var WShell = WScript.CreateObject("WScript.Shell");
WShell.Run("notepad"); //メモ帳を起動
WScript.Sleep(5000); //5秒待って
WShell.Sendkeys("hoehoe{ENTER}"); //キーを送る
メモ帳を起動してから、5秒眠ってメモ帳がアクティブウィンドウになるのを待ち、
キー列を送ります。
{ENTER} は Enter キーを表します。| キー | コード | キー | コード |
|---|---|---|---|
| { | {{} | } | {}} |
| ~ | {~} | + | {+} |
| ^ | {^} | % | {%} |
| Enter(テンキー) | {ENTER} | Enter | ~ |
| BackSpace | {BS} | Ctrl + Break | {BREAK} |
| Caps Lock | {CAPSLOCK} | Clear | {CLEAR} |
| Delete | {DEL} | End | {END} |
| Esc | {ESC} | Help | {HELP} |
| Home | {HOME} | Ins | {INSERT} |
| Page Up | {PGUP} | Return | {RETURN} |
| Scroll Lock | {SCROLLLOCK} | Tab | {TAB} |
| ↑ | {UP} | ↓ | {DOWN} |
| ← | {LEFT} | → | {RIGHT} |
| F1 〜 F15 | {F1} 〜 {F15} |
| キー | コード | キー | コード |
|---|---|---|---|
| Shift | + | Ctrl | ^ |
| Alt | % |
WShell.Sendkeys("^A");
とします。例えば、ちょっと特殊な例ですが、 Altを押しながら2回TABを押すには次のようにカッコで括ります(1/21/02)。
WShell.Sendkeys("%({TAB}{TAB})");
CtrlとShiftについても同様です。アクティブでないウィンドウにキーを送る場合は、 AppActivate メソッドを用いてアクティブにしてから Sendkeys を使います。
scripts/active.js (ファイルに保存にしてください)
--------------------------------------------------------------
var WShell = WScript.CreateObject("WScript.Shell");
WShell.AppActivate("無題 - メモ帳"); //メモ帳をアクティブに
WScript.Sleep(2000); //2秒待って
WShell.Sendkeys("~BA~"); //キーを送る
AppActivate メソッドの引数と
タイトルが完全に一致するウィンドウを探して、
見つかればそのウィンドウをアクティブにします。