PowerShellでキーボード操作を行う方法

toc目次

はじめに

PowerShellでキーボード操作を行う方法のメモです。

PowerShellでキーボード操作を行う

System.Windows.Forms名前空間のSendKeysを利用することでキーボード操作を行う事ができます。

以下、スクリプト実行の5秒後に「こんにちは」と入力するスクリプトです。

# System.Windows.Forms名前空間の読み込み
Add-Type -AssemblyName System.Windows.Forms

# 5秒スリープ
Start-Sleep 5

# キー操作で「こんにちは」と入力する
[Windows.Forms.SendKeys]::SendWait("こんにちは")

スクリプト実行後にメモ帳にフォーカスを当てると、メモ帳に「こんにちは」と入力されます。
SendKeys

特殊キーの入力

キー操作は通常の文字だけでなく特殊キー(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("こんばんは")

スクリプト実行後にメモ帳にフォーカスを当てると、以下のようになります。
SendKeys

特殊キーのコード一覧

特殊キーのコードは以下のとおりです。

キー コード
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")

参考