Freigeben über


SendKeys.Send-Methode

Sendet Tastatureingaben an die aktive Anwendung.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Shared Sub Send ( _
    keys As String _
)
'Usage
Dim keys As String

SendKeys.Send(keys)
public static void Send (
    string keys
)
public:
static void Send (
    String^ keys
)
public static void Send (
    String keys
)
public static function Send (
    keys : String
)

Parameter

  • keys
    Die zu sendende Zeichenfolge der Tastatureingaben.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Es ist keine aktive Anwendung vorhanden, an die Tastaturanschläge gesendet werden können.

ArgumentException

keys stellt keine gültigen Tastaturanschläge dar

Hinweise

Jede Taste wird durch ein oder mehrere Zeichen dargestellt. Verwenden Sie zum Angeben eines einzelnen Zeichens der Tastatur das Zeichen selbst. Um beispielsweise den Buchstaben A darzustellen, übergeben Sie der Methode die Zeichenfolge "A". Wenn mehr als ein Zeichen dargestellt werden soll, fügen Sie die zusätzlichen Zeichen einfach an. Für die Darstellung der Buchstaben A, B und C geben Sie den Parameter "ABC" an.

Die Zeichen Plus (+), Zirkumflex (^), Prozent (%), Tilde (~) sowie die runden Klammern ( ) haben für SendKeys eine besondere Bedeutung. Zum Angeben eines dieser Zeichen schließen Sie es in geschweifte Klammern ({}) ein. Geben Sie das Pluszeichen z. B. durch "{+}" an. Geschweifte Klammern geben Sie mit "{{}" und "{}}" an. Eckige Klammern ([ ]) haben zwar keinerlei Spezialbedeutung für SendKeys, müssen aber auch in geschweifte Klammern eingeschlossen werden. In anderen Anwendungen haben eckige Klammern eine besondere Bedeutung, die möglicherweise für dynamischen Datenaustausch (DDE, Dynamic Data Exchange) relevant ist.

Warnung

Wenn die Anwendung für die internationale Verwendung mit unterschiedlichen Tastaturen vorgesehen ist, kann die Verwendung von Send zu unvorhersehbaren Ergebnissen führen, sodass sie zu vermeiden ist.

Verwenden Sie die Codes in der folgenden Tabelle zum Angeben von Zeichen, die nicht durch Drücken einer Taste wie der EINGABE- oder TAB-TASTE angezeigt werden, sowie von Tasten, die anstelle von Zeichen Aktionen darstellen.

Taste

Code

RÜCKTASTE

{BACKSPACE}, {BS} oder {BKSP}

UNTBR

{BREAK}

FESTSTELLTASTE

{CAPSLOCK}

ENTF oder RÜCKSCHRITT

{DELETE} oder {DEL}

NACH-UNTEN

{DOWN}

ENDE

{END}

EINGABE

{ENTER} oder ~

ESC

{ESC}

HILFE

{HELP}

POS1

{HOME}

EINFG

{INSERT} oder {INS}

NACH-LINKS

{LEFT}

NUM

{NUMLOCK}

BILD-AB

{PGDN}

BILD-AUF

{PGUP}

DRUCK

{PRTSC} (für zukünftige Verwendung reserviert)

NACH-RECHTS

{RIGHT}

ROLLEN

{SCROLLLOCK}

TAB

{TAB}

NACH-OBEN

{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}

ADDITIONSTASTE (Zehnertastatur)

{ADD}

SUBTRAKTIONSTASTE (Zehnertastatur)

{SUBTRACT}

MULTIPLIKATIONSTASTE (Zehnertastatur)

{MULTIPLY}

DIVISIONSTASTE (Zehnertastatur)

{DIVIDE}

Stellen Sie zum Angeben beliebiger Tastenkombinationen, bei denen die UMSCHALTTASTE, STRG und ALT verwendet werden, dem Tastencode einen oder mehrere der folgenden Codes voran.

Taste

Code

UMSCHALT

+

STRG

^

ALT

%

Um festzulegen, dass eine beliebige Kombination von UMSCHALT, STRG und ALT gedrückt gehalten werden soll, während andere Tasten gedrückt werden, schließen Sie den Code für diese Tasten in runde Klammern ein. Um beispielsweise anzugeben, dass UMSCHALT gedrückt gehalten werden soll, während E und C gedrückt werden, verwenden Sie "+(EC)". Wenn Sie angeben möchten, dass beim Drücken von E die UMSCHALTTASTE gedrückt gehalten werden soll, und anschließend C ohne UMSCHALT gedrückt werden soll, verwenden Sie "+EC".

Geben Sie einen wiederholten Tastendruck in der Form {Taste Anzahl} an. Zwischen Taste und Zahl muss ein Leerzeichen stehen. So steht {LEFT 42} beispielsweise für ein 42-maliges Drücken der NACH-LINKS-TASTE und {h 10} für ein zehnmaliges Drücken von H.

Hinweis

Da es keine verwaltete Methode für das Aktivieren einer anderen Anwendung gibt, können Sie diese Klasse entweder in der aktuellen Anwendung verwenden oder die Aktivierung anderer Anwendungen mit systemeigenen Methoden von Windows wie FindWindow und SetForegroundWindow erzwingen.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der Send-Methode veranschaulicht. Fügen Sie zum Ausführen des Beispiels folgenden Code in ein Formular mit dem Namen Form1 ein, das eine Schaltfläche mit dem Namen Button1 enthält. Stellen Sie sicher, dass die Mausklickereignisse in diesem Beispiel ihren Ereignisbehandlungsmethoden zugeordnet werden. Die TabIndex-Eigenschaft des Schaltflächen-Steuerelements sollte auf 0 festgelegt sein. Doppelklicken Sie bei der Ausführung des Beispiels auf das Formular, um das Mausklickereignis der Schaltfläche auszulösen.

' 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(System.Object sender, System.EventArgs e)
{
    MessageBox.Show("Click here!");
}


// Use the SendKeys.Send method to raise 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}");
}
private:
   // Clicking Button1 causes a message box to appear.
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      MessageBox::Show( "Click here!" );
   }

   // Use the SendKeys.Send method to raise the Button1 click event 
   // and display the message box.
   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}" );
   }
// 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

.NET Framework-Sicherheit

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

SendKeys-Klasse
SendKeys-Member
System.Windows.Forms-Namespace