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 回押すことを示します。

メモ   ほかのアプリケーションをアクティブにするマネージ メソッドはありません。したがって、現在のアプリケーション内部でこのクラスを使用するか、または FindWindowSetForegroundWindow などのネイティブ 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 セキュリティ:

参照

SendKeys クラス | SendKeys メンバ | System.Windows.Forms 名前空間