Keyboard.SendKeys メソッド

定義

キーボードに入力されているかのように、1 つ以上のキーストロークをアクティブ ウィンドウに送信します。

オーバーロード

名前 説明
SendKeys(String)

キーボードに入力されているかのように、1 つ以上のキーストロークをアクティブ ウィンドウに送信します。

SendKeys(String, Boolean)

キーボードに入力されているかのように、1 つ以上のキーストロークをアクティブ ウィンドウに送信します。

SendKeys(String)

ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb

キーボードに入力されているかのように、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.

要求されたプロセス識別子を持つアプリケーションが見つからない場合、 ArgumentException 例外が発生します。

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

注釈

My.Computer.Keyboard.SendKeys メソッドは、SendメソッドやSendWait メソッドと同様の機能を提供します。

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

Note

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

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

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

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

Key Code
BackSpace {BACKSPACE} または {BS}
BREAK {BREAK}
CapsLock {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} または {DEL}
{DOWN}
終了 {END}
Enter (テンキー) {ENTER}
エンター ~
ESC {ESCAPE} または {ESC}
HELP {HELP}
ホーム {HOME}
イン {INSERT}
左矢印 {LEFT}
NumLock {NUMLOCK}
ページダウン {PGDN}
ページアップ {PGUP}
RETURN {RETURN}
右矢印 {RIGHT}
ScrollLock {SCROLLLOCK}
Tab {TAB}
上矢印 {UP}
F1 ~ F15 {F1} から {F15}

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

プロジェクト タイプ 在庫有り
Windows アプリケーション Yes
クラス ライブラリ Yes
コンソール アプリケーション Yes
Windows コントロール ライブラリ Yes
Web コントロール ライブラリ いいえ
Windows サービス Yes
ウェブサイト いいえ

こちらもご覧ください

適用対象

SendKeys(String, Boolean)

ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb
ソース:
Keyboard.vb

キーボードに入力されているかのように、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.

要求されたプロセス識別子を持つアプリケーションが見つからない場合、 ArgumentException 例外が発生します。

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

注釈

My.Computer.Keyboard.SendKeys メソッドは、SendメソッドやSendWait メソッドと同様の機能を提供します。

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

Note

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

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

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

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

Key Code
BackSpace {BACKSPACE} または {BS}
BREAK {BREAK}
CapsLock {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} または {DEL}
{DOWN}
終了 {END}
Enter (テンキー) {ENTER}
エンター ~
ESC {ESCAPE} または {ESC}
HELP {HELP}
ホーム {HOME}
イン {INSERT}
左矢印 {LEFT}
NumLock {NUMLOCK}
ページダウン {PGDN}
ページアップ {PGUP}
RETURN {RETURN}
右矢印 {RIGHT}
ScrollLock {SCROLLLOCK}
Tab {TAB}
上矢印 {UP}
F1 ~ F15 {F1} から {F15}

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

プロジェクト タイプ 在庫有り
Windows アプリケーション Yes
クラス ライブラリ Yes
コンソール アプリケーション Yes
Windows コントロール ライブラリ Yes
Web コントロール ライブラリ いいえ
Windows サービス Yes
ウェブサイト いいえ

こちらもご覧ください

適用対象