| 分類 | 分類/ソフト制御/OS/プロセス(nakoctrl.dll)/キー操作 |
| 種類 | 命令 |
| 引数 | {=?}AにSを|Aへ |
| 説明 | タイトルAを持つウィンドウに文字Sをキー送信する。Aを省略するとアクティブなウィンドウへ送信。(VB互換) |
| 識別 | id:4200 |
任意のキーを送信します。以下はメモ帳を起動し文字を書き入れるサンプルです。
『キー送信』命令を使う場合は、『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 を送信
終わる。
また任意のウィンドウに連続してキーを送信する場合は、「窓ハンドルキー送信」を使います。
上記で見たように、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』のように記述する必要があります。
キーを送信するウィンドウのタイトルの指定には、ワイルドカードが利用できます。メモ帳などのタイトルは「無題 - メモ帳」となっていますが、編集するファイル名によって無題の部分が変わります。そんなとき、ワイルドカードを使います。以下のサンプルでは、ワイルドカードを指定して、メモ帳にキーを送信します。
「notepad.exe」を起動。1秒待つ。 「*メモ帳」へ「abcd」をキー送信。
とりあえず、興味のある方は、以下のなでしこのソースコードをご覧ください。時間を見て、マニュアルをアップデートします。