SendKeys クラス

キーストロークをアプリケーションに送信するメソッドを指定します。

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

構文

'宣言
Public Class SendKeys
'使用
Dim instance As SendKeys
public class SendKeys
public ref class SendKeys
public class SendKeys
public class SendKeys

解説

キーストロークおよびキーストロークの組み合わせをアクティブなアプリケーションに送信するには、SendKeys を使用します。このクラスはインスタンス化できません。キーストロークをクラスに送信した後すぐにプログラムのフローを継続するには、Send を使用します。キーストロークでプロセスが開始されるまで待機するには、SendWait を使用します。

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

継承階層

System.Object
  System.Windows.Forms.SendKeys

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

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

参照

関連項目

SendKeys メンバ
System.Windows.Forms 名前空間