# Tastendruck Simulieren?



## piätch (8. Oktober 2010)

Hallo ,

also meine frage ist es wie kann ich Tastatureingaben simulieren?

Also ich habe nun ein programm z.b. in vb geschrieben wo  ich ein textfeld habe wo ich was eingeben kann. Wenn ich dann Enter drücke wird das dann nochmal ausgegeben.
Das ja einfach und habe ich schon lange 

Nun wie könnte ich nun mit c++ eine Eingabe simulieren ?
Also wenn ichd das C++-Programm starte soll es die Eingabe simulieren und dort dann in das Textfeld einen String schreiben und dann noch ein Druck der Enter-Taste simulieren !
Wie kann ich das hinbekommen?

Ich habe nun schon genug gegoogelt und hier auch alles durchsucht nur finde ich nichts wirkliches und ich will auch nicht unbedingt einen Code haben sondern ein Prinzip das reicht auch schon mehr als  aus 

Gruß Piatsch


----------



## ComFreek (8. Oktober 2010)

Ich gehe mal davon aus, dass du mit der WinAPI arbeitets.
Da gibt es die Funktion SendMessage.
Hier gibt es auch ein Beispiel: Click!


----------



## Crash Kid (8. Oktober 2010)

Hey,

geht relativ einfach:


```
INPUT ipTastatur;

//Diese Werte müssen nur einmal gesetzt werden, um andere Tasten zu simulieren reicht
//es wenn du nur wVk und dwFlags änderst
ipTastatur.type = INPUT_KEYBOARD;
ipTastatur.ki.wScan = 0;
iipTastatur.ki.time = 0;
iipTastatur.ki.dwExtraInfo = 0;

//Hier jetzt wVk und dwFlags setzen und die Message absenden
ipTastatur.ki.wVk = VK_TAB;  //Hier kommt der Tastenbefehl rein, z.B. VK_TAB (Virual Key Code)
ipTastatur.ki.dwFlags = 0;  //0 ist Taste drücken, bleibt auch solange bis du dwFlags
                                     //auf KEYEVENTF_KEYUP setzt und die Message wieder sendest.

SendInput(1, &ipTastatur, sizeof(ipTastatur));  //Hier sendest du die Message

//Damit lässt du die Taste wieder los, sonst schreibt der dir ohne Ende Tabs rein xD
ipTastatur.ki.wVk = VK_TAB;
ipTastatur.ki.dwFlags = KEYEVENTF_KEYUP;

SendInput(1, &ipTastatur, sizeof(ipTastatur));
```

Bisschen über Virtual Key Codes googeln, dann kannst du so ziehmlich alles simmulieren. Auch Mausklicks sind damit möglich.

gruß


----------

