Freigeben über


My.Computer.Keyboard.SendKeys-Methode

Aktualisiert: November 2007

Sendet einen oder mehrere Tastaturanschläge wie bei der Eingabe über die Tastatur an das aktive Fenster.

' Usage
My.Computer.Keyboard.SendKeys(keys)
My.Computer.Keyboard.SendKeys(keys ,wait)
' Declaration
Public Sub SendKeys( _
   ByVal keys As String _
)
' -or-
Public Sub SendKeys( _
   ByVal keys As String, _
   ByVal wait As Boolean _
)

Parameter

  • keys
    Ein String, der die zu sendenden Tasten definiert.

  • wait
    Optional. Ein Boolean-Wert, der angibt, ob die Ausführung der Anwendung erst nach der Verarbeitung von Tastaturanschlägen fortgesetzt werden soll. Standardmäßig True.

Ausnahmen

Die folgende Bedingung kann einen Ausnahmefehler verursachen:

  • Ein teilweise vertrauenswürdiger Kontext, in dem der Benutzer nicht über erforderliche Berechtigungen verfügt (SecurityException).

Hinweise

Die My.Computer.Keyboard.SendKeys-Methode bietet ähnliche Funktionalität wie die Send-Methode und die SendWait-Methode.

Das wait-Argument bietet sich an, wenn die Anwendung erst fortgesetzt werden kann, nachdem die andere Anwendung beendet wurde.

Hinweis:

Da es keine verwaltete Methode zum Aktivieren einer anderen Anwendung gibt, können Sie diese Klasse entweder in der aktuellen Anwendung verwenden, das Fenster manuell auswählen, an das die Tastaturanschläge gesendet werden sollen oder die Aktivierung anderer Anwendungen mit Windows API-Methoden, z. B. FindWindow und SetForegroundWindow, erzwingen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Aufrufen von Windows-APIs.

Das keys-Argument kann eine einzelne Taste oder eine beliebige, mit ALT, CTRL oder SHIFT (oder eine beliebige Kombination dieser Tasten) kombinierte Taste angeben. Jede Taste wird durch mindestesn ein Zeichen dargestellt, z. B. a für das Zeichen "a" oder {ENTER} für die EINGABETASTE.

Um eine Taste mit der UMSCHALTTASTE zu kombinieren, stellen Sie dem Tastencode + (Pluszeichen) voran. Um eine Taste mit STRG zu kombinieren, stellen Sie dem Tastencode ^ (Caretzeichen) voran. Um eine Taste mit ALT zu kombinieren, stellen Sie dem Tastencode % (Prozentzeichen) voran. Um die Wiederholung von Tastaturanschlägen anzugeben, verwenden Sie das Format {key number}. Sie müssen zwischen key und number ein Leerzeichen einfügen. Beispielsweise bedeutet {LEFT 42} "NACH-LINKS-TASTE 42 Mal drücken", und {h 10} bedeutet "'h' 10 Mal drücken".

In der folgenden Tabelle ist der jeweilige Code aufgelistet, mit dem Zeichen angegeben werden können, die nicht angezeigt werden, wenn die entsprechende Taste (z. B. EINGABETASTE oder TAB-TASTE) gedrückt wird.

Taste

Code

RÜCKTASTE

{BACKSPACE} oder {BS}

UNTBR

{BREAK}

FESTSTELLTASTE

{CAPSLOCK}

ENTF

{CLEAR}

LÖSCHEN

{DELETE} oder {DEL}

NACH-UNTEN

{DOWN}

ENDE

{END}

EINGABETASTE (Zehnertastatur)

{ENTER}

EINGABETASTE

~

ESC

{ESCAPE} oder {ESC}

HILFE

{HELP}

POS1

{HOME}

EINFG

{INSERT}

NACH-LINKS

{LEFT}

NUM

{NUMLOCK}

BILD-AB

{PGDN}

BILD-AUF

{PGUP}

EINGABETASTE

{RETURN}

NACH-RECHTS

{RIGHT}

ROLLEN

{SCROLLLOCK}

TAB

{TAB}

NACH-OBEN

{UP}

F1 bis F15

{F1} bis {F15}

Beispiel

In diesem Beispiel wird die My.Computer.Keyboard.SendKeys-Methode verwendet, um Tastaturanschläge an die externe Anwendung Rechner zu senden, die von der Shell-Funktion gestartet wird.

Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.

Eine ArgumentException-Ausnahme wird ausgelöst, wenn eine Anwendung mit der angeforderten Prozess-ID nicht gefunden werden kann.

Der Aufruf der Shell-Funktion erfordert volle Vertrauenswürdigkeit (SecurityException-Klasse).

Anforderungen

Namespace: Microsoft.VisualBasic.Devices

Klasse: Keyboard

Assembly: Visual Basic-Laufzeitbibliothek (in Microsoft.VisualBasic.dll)

Verfügbarkeit nach Projekttyp

Projekttyp

Verfügbar

Windows-Anwendung

Ja

Klassenbibliothek

Ja

Konsolenanwendung

Ja

Windows-Steuerelementbibliothek

Ja

Web-Steuerelementbibliothek

Nein

Windows-Dienst

Ja

Website

Nein

Berechtigungen

Die folgenden Berechtigungen sind möglicherweise erforderlich:

Berechtigung

Beschreibung

FileIOPermission

Steuert die Fähigkeit, auf Dateien und Ordner zuzugreifen. Zugeordnete Enumeration: Unrestricted.

UIPermission

Steuert die Berechtigungen für Benutzeroberflächen und die Zwischenablage. Zugeordnete Enumeration: AllWindows.

Weitere Informationen finden Sie unter Codezugriffssicherheit und unter Anfordern von Berechtigungen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Aufrufen von Windows-APIs

Referenz

My.Computer.Keyboard-Objekt

Send

SendWait

Keyboard.SendKeys