キー送信 (きーそうしん)

分類分類/ソフト制御/OS/プロセス(nakoctrl.dll)/キー操作
種類命令
引数{=?}AにSを|Aへ
説明タイトルAを持つウィンドウに文字Sをキー送信する。Aを省略するとアクティブなウィンドウへ送信。(VB互換)
識別id:4200

説明 (クジラ飛行机) [2005年04月28日]

任意のキーを送信します。以下はメモ帳を起動し文字を書き入れるサンプルです。
『キー送信』命令を使う場合は、『n秒待つ』でちょっとずつキーを送信した方が失敗が少なくなります。

「notepad.exe」を起動。
1秒待つ
「abc」をキー送信
0.5秒待つ
「ABC」をキー送信
0.5秒待つ

[Ctrl] + [V] などのショートカットキーを送信する場合には、次のように「^v」のような組みわせ記号を使います。以下は、クリップボードにある文字列をメモ帳に貼り付けする例です。

クリップボード=「なでしこ最高!」※クリップボードの書き換え
「notepad.exe」を起動。      ※メモ帳を起動
1秒待つ。             ※一服
『^v』をキー送信。        ※[Ctrl]+[V]を送信
1秒待つ。             ※一服
『%{F4}』をキー送信。       ※[Alt]+[F4]を送信
1秒待つ。             ※一服
『n』をキー送信。         ※ n を送信
終わる。

また任意のウィンドウに連続してキーを送信する場合は、「窓ハンドルキー送信」を使います。

詳細説明 (kujira) [2005年02月15日]

上記で見たように、abc や 数字のキーを送る場合には、普通に送信するキーを記述します。しかし、特殊なキーを送る場合には、次のような特殊な記号を組み合わせてキー送信を指示します。

キーの組み合わせ:

キー 指定する記号
Shift+
Ctrl ^
Alt %
Windows&

特殊キー:

BackSpace {BACKSPACE},{BS}または{BKSP}
Tab {TAB}
Ctrl+Break {BREAK}
Enter {ENTER} または ~ または {RETURN}
Home,End {HOME},{END}
Esc,Help {ESC},{HELP}
Ins {INSERT}
Del {DELETE}または{DEL}
↑,↓,←,↑ {UP},{DOWN},{LEFT},{RIGHT}
PrintScreen {PRTSC}
PageDown {PGDN}
PageUp {PGUP}
CapsLock {CAPSLOCK}
NumLock {NUMLOCK}
ScrollLock {SCROLLLOCK}
F1~F16 {F1}...{F16}
ALT+全角/半角{IME}
Windowsキー {WIN} (※組み合わせて使う時は & )
CTRLキー{CTRL} (※組み合わせて使う時は ^ )
右CTRLキー{RCTRL}
ALTキー{ALT} (※組み合わせて使う時は % )
右ALTキー{RALT}
SHIFTキー{SHIFT}
右SHIFTキー{RSHIFT}
PAUSEキー{PAUSE}

こうした特殊キーを送るときに不便なのが、なでしこの文字列内の変数展開の機能です。「{F1}」などと書くと、変数「F1」の内容が展開されてしまいます。そのため、展開を行わない文字列の指定二重カギカッコで『F1』のように記述する必要があります。

指定するタイトルの説明 (クジラ飛行机) [2005年04月28日]

キーを送信するウィンドウのタイトルの指定には、ワイルドカードが利用できます。メモ帳などのタイトルは「無題 - メモ帳」となっていますが、編集するファイル名によって無題の部分が変わります。そんなとき、ワイルドカードを使います。以下のサンプルでは、ワイルドカードを指定して、メモ帳にキーを送信します。

「notepad.exe」を起動。1秒待つ。
「*メモ帳」へ「abcd」をキー送信。

ver.1.557で大幅に使えるキーが増えました。

とりあえず、興味のある方は、以下のなでしこのソースコードをご覧ください。時間を見て、マニュアルをアップデートします。

関連するページ