Keyboard.SendKeys メソッド

定義

キーボードから入力する感覚で、1 つまたは複数のキーストロークをアクティブ ウィンドウに送信します。

オーバーロード

SendKeys(String)

キーボードから入力する感覚で、1 つまたは複数のキーストロークをアクティブ ウィンドウに送信します。

SendKeys(String, Boolean)

キーボードから入力する感覚で、1 つまたは複数のキーストロークをアクティブ ウィンドウに送信します。

SendKeys(String)

キーボードから入力する感覚で、1 つまたは複数のキーストロークをアクティブ ウィンドウに送信します。

public:
 void SendKeys(System::String ^ keys);
public void SendKeys (string keys);
member this.SendKeys : string -> unit
Public Sub SendKeys (keys As String)

パラメーター

keys
String

送信するキーを定義する String

例外

ユーザーが部分的に信頼されており、必要なアクセス許可を持っていません。

この例では、 メソッドを My.Computer.Keyboard.SendKeys 使用して、 メソッドによって開始された外部アプリケーション (メモ帳アプリケーション) にキーストロークを Shell 送信します。

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

要求されたプロセス ID のアプリケーションが見つからない場合には、ArgumentException 例外が発生します。

メソッドの呼び出しには Shell 、完全信頼 (SecurityException クラス) が必要です。

注釈

メソッドにはMy.Computer.Keyboard.SendKeys、 メソッドと SendWait メソッドと同様のSend機能が用意されています。

引数は wait 、アプリケーションを続行する前に他のアプリケーションを終了する必要がある場合に便利です。

注意

別のアプリケーションをアクティブ化するマネージド メソッドがないため、現在のアプリケーション内でこのクラスを使用するか、キーを送信するウィンドウを手動で選択するか、および SetForegroundWindowなどの FindWindow Windows API メソッドを使用して他のアプリケーションに強制的に集中できます。 詳細については、「チュートリアル:Windows API の呼び出し」を参照してください。

引数には keys 、任意の 1 つのキー、または Alt キー、Ctrl キー、または Shift キー (またはこれらのキーの任意の組み合わせ) と組み合わせた任意のキーを指定できます。 各キーは、文字 "a" や {ENTER} ENTER キーの場合などa、1 つ以上の文字で表されます。

キーを Shift キーと組み合わせるには、キー コード + の前に (プラス記号) を付けます。 Ctrl キーを使用してキーを結合するには、キー コードの前に (キャレット) を付 ^ けます。 キーを Alt キーと組み合わせるには、キー コードの前に (パーセント記号) を付 % けます。 繰り返しキーを指定するには、フォーム{キー番号を使用します}キー数値の間にスペースを入れる必要があります。 たとえば、 {LEFT 42} "左方向キーを 42 回押す" を意味し {h 10} 、"h' を 10 回押す" ことを意味します。

次の表に、対応するキー (Enter キーや TAB キーなど) を押したときに表示されない文字を指定するために使用できるコードを示します。

Key コード
BackSpace {BACKSPACE} または {BS}
BREAK {BREAK}
CapsLock {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} または {DEL}
下方向キー {DOWN}
End {END}
Enter (テンキー) {ENTER}
Enter ~
Esc {ESCAPE} または {ESC}
HELP {HELP}
ホーム {HOME}
Ins {INSERT}
{LEFT}
NUM LOCK {NUMLOCK}
PageDown {PGDN}
PageUp {PGUP}
RETURN {RETURN}
{RIGHT}
スクロール ロック {SCROLLLOCK}
Tab {TAB}
{UP}
F1 ~ F15 {F1} ~ {F15}

プロジェクトの種類別の可用性

プロジェクトの種類 使用可能
Windows アプリケーション はい
クラス ライブラリ はい
コンソール アプリケーション はい
Windows コントロール ライブラリ はい
Web コントロール ライブラリ いいえ
Windows サービス はい
Web サイト いいえ

こちらもご覧ください

適用対象

SendKeys(String, Boolean)

キーボードから入力する感覚で、1 つまたは複数のキーストロークをアクティブ ウィンドウに送信します。

public:
 void SendKeys(System::String ^ keys, bool wait);
public void SendKeys (string keys, bool wait);
member this.SendKeys : string * bool -> unit
Public Sub SendKeys (keys As String, wait As Boolean)

パラメーター

keys
String

送信するキーを定義する String

wait
Boolean

省略可能。 キーストロークの処理が完了するまで待って、アプリケーションの処理を続行するかどうかを指定する Boolean 値。 既定では True です。

例外

ユーザーが部分的に信頼されており、必要なアクセス許可を持っていません。

この例では、 メソッドを My.Computer.Keyboard.SendKeys 使用して、 メソッドによって開始された外部アプリケーション (メモ帳アプリケーション) にキーストロークを Shell 送信します。

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

要求されたプロセス ID のアプリケーションが見つからない場合には、ArgumentException 例外が発生します。

メソッドの呼び出しには Shell 、完全信頼 (SecurityException クラス) が必要です。

注釈

メソッドにはMy.Computer.Keyboard.SendKeys、 メソッドおよび SendWait メソッドにSend似た機能が用意されています。

引数は wait 、アプリケーションを続行する前に他のアプリケーションを終了する必要がある場合に便利です。

注意

別のアプリケーションをアクティブ化するための管理メソッドがないため、現在のアプリケーション内でこのクラスを使用するか、キーを送信するウィンドウを手動で選択するか、 や SetForegroundWindowなどの FindWindow Windows API メソッドを使用して他のアプリケーションに強制的にフォーカスすることができます。 詳細については、「チュートリアル:Windows API の呼び出し」を参照してください。

引数には keys 、任意の 1 つのキーまたは任意のキーを Alt キー、Ctrl キー、Shift キー (またはこれらのキーの任意の組み合わせ) と組み合わせて指定できます。 各キーは、文字 "a" の場合や ENTER キーの場合など a{ENTER} 1 つ以上の文字で表されます。

キーを Shift キーと組み合わせるには、キー コード + の前に (プラス記号) を付けます。 キーを Ctrl キーと組み合わせるには、キー コードの前に (キャレット) を付 ^ けます。 キーを ALT と組み合わせるには、キー コードの前に (パーセント記号) を付 % けます。 繰り返しキーを指定するには、フォーム{キー番号を使用します}キー数値の間にスペースを入れる必要があります。 たとえば、 {LEFT 42} "左方向キーを 42 回押す" を意味し {h 10} 、"h' キーを 10 回押す" を意味します。

次の表に、対応するキー (Enter キーや TAB キーなど) を押したときに表示されない文字を指定するために使用できるコードを示します。

Key コード
BackSpace {BACKSPACE} または {BS}
BREAK {BREAK}
CapsLock {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} または {DEL}
下方向キー {DOWN}
End {END}
Enter (テンキー) {ENTER}
Enter ~
Esc {ESCAPE} または {ESC}
HELP {HELP}
ホーム {HOME}
Ins {INSERT}
{LEFT}
NUM LOCK {NUMLOCK}
PageDown {PGDN}
PageUp {PGUP}
RETURN {RETURN}
{RIGHT}
スクロール ロック {SCROLLLOCK}
Tab {TAB}
{UP}
F1 から F15 {F1} から {F15}

プロジェクトの種類別の可用性

プロジェクトの種類 使用可能
Windows アプリケーション はい
クラス ライブラリ はい
コンソール アプリケーション はい
Windows コントロール ライブラリ はい
Web コントロール ライブラリ いいえ
Windows サービス はい
Web サイト いいえ

こちらもご覧ください

適用対象