SendKeys.Send メソッド
キーストロークをアクティブなアプリケーションに送信します。
Public Shared Sub Send( _
ByVal keys As String _)
[C#]
public static void Send(stringkeys);
[C++]
public: static void Send(String* keys);
[JScript]
public static function Send(
keys : String);
パラメータ
- keys
送信するキーストロークの文字列。
解説
各キーは 1 つ以上の文字で表されます。1 文字のキーボード文字を指定するには、その文字自体を使用します。たとえば、文字 A を表すには、文字 "A" をメソッドに渡します。2 文字以上の文字を表すには、前の文字の後に追加する文字を付け加えます。文字 A、B、および C を表すには、パラメータに "ABC" を指定します。
プラス記号 (+)、カレット (^)、パーセント記号 (%)、ティルダ (~)、およびかっこ (()) は、 SendKeys で特別な意味を持ちます。これらの文字の 1 つを指定するには、その文字を中かっこ ({}) で囲みます。たとえば、プラス記号を指定する場合は "{+}" を使用します。中かっこ文字を指定する場合は、"{{}" および "{}}" を使用します。角かっこ ([ ]) は、 SendKeys では特別な意味を持ちませんが、中かっこで囲む必要があります。ほかのアプリケーションでは、角かっこはダイナミック データ エクスチェンジ (DDE: Dynamic Data Exchange) が発生したときに特別な意味を持ちます。
Enter キー、Tab キー、文字ではなく動作を表すキーなど、キーを押しても画面に表示されない文字を指定するには、次の表に示すコードを使用します。
キー | コード |
---|---|
BackSpace | {BACKSPACE}、{BS}、または {BKSP} |
Break | {BREAK} |
CapsLock | {CAPSLOCK} |
Del または Delete | {DELETE} または {DEL} |
DownArrow (↓) | {DOWN} |
End | {END} |
Enter | {ENTER} または ~ |
Esc | {ESC} |
Help | {HELP} |
Home | {HOME} |
Ins または Insert | {INSERT} または {INS} |
LeftArrow (←) | {LEFT} |
NumLock | {NUMLOCK} |
PageDown | {PGDN} |
PageUp | {PGUP} |
PrintScreen | {PRTSC} (今後使用するために予約されている) |
RightArrow (→) | {RIGHT} |
ScrollLock | {SCROLLLOCK} |
Tab | {TAB} |
UpArrow (↑) | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
キーパッドの加算記号 (+) キー | {ADD} |
キーパッドの減算記号 (-) キー | {SUBTRACT} |
キーパッドの乗算記号 (*) キー | {MULTIPLY} |
キーパッドの除算記号 (/) キー | {DIVIDE} |
Shift キー、Ctrl キー、Alt キーの各キーの任意の組み合わせを、他のキーと組み合わせて指定するには、キー コードの前に次のコードを 1 つ以上指定します。
キー | コード |
---|---|
Shift | + |
Ctrl | ^ |
Alt | % |
Shift キー、Ctrl キー、Alt キーの各キーの任意の組み合わせを押したまま、ほかの複数のキーを押すように指定するには、これらのキーのコードをかっこで囲みます。たとえば、Shift キーを押しながら E キーと C キーを押すように指定する場合は、"+(EC)" を使用します。Shift キーを押しながら E キーを押してから、Shift キーを押さずに C キーを押す場合は、"+EC" を使用します。
キーの繰り返しを指定するには、{key number} フォームを使用します。キーと数値の間に空白を入れる必要があります。たとえば、{LEFT 42} は、LeftArrow (←) キーを 42 回押すことを示し、{h 10} は H キーを 10 回押すことを示します。
メモ ほかのアプリケーションをアクティブにするマネージ メソッドはありません。したがって、現在のアプリケーション内部でこのクラスを使用するか、または FindWindow や SetForegroundWindow などのネイティブ Windows メソッドを使用して、ほかのアプリケーションに強制的にフォーカスを移すことができます。
使用例
[Visual Basic, C#] Send メソッドの使用方法を示すコード例を次に示します。この例を実行するには、次のコードを、Form1 という名前のフォームに貼り付けます。このフォームには、Button1 という名前のボタンが配置されています。ボタン コントロールの TabIndex プロパティは 0 に設定する必要があります。この例を実行するときは、フォームをダブルクリックしてボタンのクリック イベントを発生させます。イベントは、必ずイベント処理メソッドに関連付けるようにしてください。
' Clicking Button1 causes a message box to appear.
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Click here!")
End Sub
' Use the SendKeys.Send method to trigger the Button1 click event
' and display the message box.
Private Sub Form1_DoubleClick(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.DoubleClick
' Send the enter key; since the tab stop of Button1 is 0, this
' will trigger the click event.
SendKeys.Send("{ENTER}")
End Sub
[C#]
// Clicking Button1 causes a message box to appear.
private void Button1_Click(System.Object sender, System.EventArgs e)
{
MessageBox.Show("Click here!");
}
// Use the SendKeys.Send method to trigger the Button1 click event
// and display the message box.
private void Form1_DoubleClick(object sender, System.EventArgs e)
{
// Send the enter key; since the tab stop of Button1 is 0, this
// will trigger the click event.
SendKeys.Send("{ENTER}");
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (アンマネージ コードがこのメソッドを呼び出すために必要な許可) SecurityPermissionFlag.UnmanagedCode (関連する列挙体)