Mit SendKeys Tastaturbefehle senden

Was ist SendKeys?

Mittels SendKeys können Tastaturbefehle an die aktive Anwendung gesendet werden. Als aktive Anwendung wird die Anwendung bezeichnet, die den Fokus auf dem Bildschirm hat.

Im .NET Framework wird SendKeys seit der Version 1.0 unterstützt. Mit dem .NET Framework 3.0 wurde SendKeys überarbeitet und läuft seit dem auch unter Windows Vista, Windows 7 und neuer ohne Probleme.

Wird eine Anwendung für mehrere Betriebssysteme entwickelt, sollte mit den folgenden Zeilen die Arbeitsweise für SendKeys eingestellt werden. Damit wird sichergestellt, dass immer der gleiche Verarbeitungsmodus von SendKeys benutzt wird.

Eintrag in der app.config

<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>

Zeichen senden

Die folgenden Zeichen Plus (+), Zirkumflex / Dachzeichen (^), Prozent (%), Tilde (~) sowie die runden Klammern ( ) haben für SendKeys eine spezielle Bedeutung. Um eines dieser Zeichen zu senden, schließen Sie es in geschweifte Klammern ({}) ein. Für das Pluszeichen z. B. „{+}“. Die geschweifte Klammern wird mit „{{}“ und „{}}“ und eckige Klammern werden mit ([ ]) übergeben. Eckige Klammern haben zwar keinerlei Spezialbedeutung für SendKeys, müssen aber auch in geschweifte Klammern eingeschlossen werden. Es gibt Anwendungen in denen haben eckige Klammern eine besondere Bedeutung, z.B. für dynamischen Datenaustausch (DDE, Dynamic Data Exchange).

Taste

Code

RÜCKTASTE {BACKSPACE}, {BS} oder {BKSP}
UNTBR {BREAK}
FESTSTELLTASTE {CAPSLOCK}
ENTF oder RÜCKSCHRITT {DELETE} oder {DEL}
NACH-UNTEN-TASTE {DOWN}
ENDE {END}
EINGABETASTE {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-TASTE {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}

Zum senden der Tasten ALT, STRG oder UMSCHALTTASTE sind folgendes Code voran zu stellen:

Taste

Code

SHIFT +
CTRL ^
ALT %

Um zum Beispiel ALT + M zu senden ist folgender Code anzugeben: “%m“.

Soll eine Taste mehrfach ausgeführt werden, muss keine Schleife gebaut werden. Hierzu reicht es, das Zeichen und eine Zahl in geschweifte Klammern zu setzen.

Auch unter VBA kann SendKeys benutzt werden.

Dim objWSS
Set objWSS = CreateObject("WScript.Shell")

Über objWSS kann auf SendKeys zugegriffen werden.

.NET

http://msdn.microsoft.com/de-de/library/system.windows.forms.sendkeys(v=VS.100).aspx

Windows Scripting

http://msdn.microsoft.com/de-de/library/8c6yea83(v=vs.85).aspx

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.