PowerShellでキーボード操作を行う方法
目次
はじめに
PowerShellでキーボード操作を行う方法のメモです。
PowerShellでキーボード操作を行う
System.Windows.Forms
名前空間のSendKeys
を利用することでキーボード操作を行う事ができます。
以下、スクリプト実行の5秒後に「こんにちは」と入力するスクリプトです。
# System.Windows.Forms名前空間の読み込み
Add-Type -AssemblyName System.Windows.Forms
# 5秒スリープ
Start-Sleep 5
# キー操作で「こんにちは」と入力する
[Windows.Forms.SendKeys]::SendWait("こんにちは")
スクリプト実行後にメモ帳にフォーカスを当てると、メモ帳に「こんにちは」と入力されます。
特殊キーの入力
キー操作は通常の文字だけでなく特殊キー(Enter
など)も操作できます。
Enter
を入力する場合は「SendWait("{Enter}")
」とします。
# System.Windows.Forms名前空間の読み込み
Add-Type -AssemblyName System.Windows.Forms
# 5秒スリープ
Start-Sleep 5
[Windows.Forms.SendKeys]::SendWait("こんにちは")
[Windows.Forms.SendKeys]::SendWait("{Enter}")
[Windows.Forms.SendKeys]::SendWait("こんばんは")
スクリプト実行後にメモ帳にフォーカスを当てると、以下のようになります。
特殊キーのコード一覧
特殊キーのコードは以下のとおりです。
キー | コード |
---|---|
BACKSPACE | {BACKSPACE} or {BS} or {BKSP} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
DELETE | {DELETE} or {DEL} |
END | {END} |
ENTER | {ENTER} |
ESC | {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INSERT | {INSERT} or {INS} |
NUM LOCK | {NUMLOCK} |
SCROLL LOCK | {SCROLLLOCK} |
TAB | {TAB} |
UP ARROW | {UP} |
DOWN ARROW | {DOWN} |
RIGHT ARROW | {RIGHT} |
LEFT ARROW | {LEFT} |
PAGE UP | {PGUP} |
PAGE DOWN | {PGDN} |
F1 ~ F16 | {F1} ~ {F16} |
キーの組み合わせ
SHIFTキー、CTRLキー、ALTキーと組み合わせたキーを指定するには、文字の前に以下のコードを記載します。
キー | コード |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
「Ctrl + s
」を入力する場合は以下のように記載します。
[Windows.Forms.SendKeys]::SendWait("^s")