展開

SendKeys.Send メソッド

キーストロークをアクティブなアプリケーションに送信します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

'宣言

Public Shared Sub Send ( _
	keys As String _
)
'使用

Dim keys As String

SendKeys.Send(keys)
J#
public static void Send (
	String keys
)

パラメータ

keys

送信するキーストロークの文字列。

例外の種類 条件

InvalidOperationException

キーストロークの送信先となるアクティブなアプリケーションはありません。

ArgumentException

keys が有効なキーストロークを表していません。

各キーは 1 つ以上の文字で表されます。1 文字のキーボード文字を指定するには、その文字自体を使用します。たとえば、文字 A を表すには、文字 "A" をメソッドに渡します。2 文字以上の文字を表すには、前の文字の後に追加する文字を付け加えます。文字 A、B、および C を表すには、パラメータに "ABC" を指定します。

プラス記号 (+)、カレット (^)、パーセント記号 (%)、ティルダ (~)、およびかっこ (( )) は、SendKeys で特別な意味を持ちます。これらの文字の 1 つを指定するには、その文字を中かっこ ({}) で囲みます。たとえば、プラス記号を指定する場合は "{+}" を使用します。中かっこ文字を指定する場合は、"{{}" および "{}}" を使用します。角かっこ ([ ]) は、SendKeys では特別な意味を持ちませんが、中かっこで囲む必要があります。ほかのアプリケーションでは、角かっこはダイナミック データ エクスチェンジ (DDE: Dynamic Data Exchange) が発生したときに特別な意味を持ちます。

注意に関するメモ注意

国際対応のアプリケーションでは、Send の使用は避けてください。使用されるキーボードの種類が多岐にわたるため、予期しない結果が発生する可能性があります。

Enter キー、Tab キー、文字ではなく動作を表すキーなど、キーを押しても画面に表示されない文字を指定するには、次の表に示すコードを使用します。

キー

Code

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 つ以上指定します。

キー

Code

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 メソッドを使用して、ほかのアプリケーションに強制的にフォーカスを移すことができます。

Send メソッドを使用する方法を次のコード例に示します。この例を実行するには、Button1 というボタンを配置した Form1 というフォームに次のコードを貼り付けます。必ずクリック イベントをこの例のイベント処理メソッドに関連付けるようにしてください。ボタン コントロールの 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 raise 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

// Clicking button1 causes a message box to appear.
private void button1_Click(Object sender, System.EventArgs e)
{
    MessageBox.Show("Click here!");
} //button1_Click

// 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}");
} //Form1_DoubleClick

  • SecurityPermission   (アンマネージ コードがこのメソッドを呼び出すために必要な許可)SecurityPermissionFlag.UnmanagedCode (関連する列挙体)

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0
コミュニティ コンテンツ 追加
注釈 FAQ
Page view tracker