Entwickler-Ecke

Windows API - Pfeiltasten-Parameter für Tastendruck simulieren gesucht


simlei - Sa 08.04.06 12:34
Titel: Pfeiltasten-Parameter für Tastendruck simulieren gesucht
Hallo!

Ich stehe vor einem Problem (!)
Ich möchte einen Pfeiltastendruck in in Fenster simulieren (Handle hab ich schon), und nun hab ich gesucht und gesucht, habe gesehen dass es mit Send/Postmessage geht; jedoch: Wie heißen die Parameter, wenn man ne Pfeiltaste drücken will (Wenn's geht gleich den Befehl posten plz)? das hab ich nicht gefunden.
Wäre nett wenn jemand Rat wüsste!
Danke schonmal

MfG simlei


MiNiMaG - Mo 10.04.06 01:17

Erst mal Tastencode ermitteln:

Editfeld in ein Form und OnKeyDown:

Delphi-Quelltext
1:
edit1.Text := inttostr(Key);                    


Und hiermit sendest du den Tastendruck:

Delphi-Quelltext
1:
2:
Keybd_Event(Tastencode,0,0,0); // Taste drücken
Keybd_Event(Tastencode,0,KEYEVENTF_KEYUP,0); // Taste wieder loslassen


So gehts mit CursorUp:

Delphi-Quelltext
1:
2:
Keybd_Event(38,0,0,0);
Keybd_Event(38,0,KEYEVENTF_KEYUP,0);


Viel Spass

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


alzaimar - Mo 10.04.06 07:59

Sind das nicht die VK_XXXX virtual key codes? Die stehen in Windows.Pas.


MiNiMaG - Di 11.04.06 00:22

Und? Wo ist das Problem damit ?


Born-to-Frag - Di 11.04.06 00:25

user profile iconMiNiMaG hat folgendes geschrieben:
Erst mal Tastencode ermitteln:

Editfeld in ein Form und OnKeyDown:

Delphi-Quelltext
1:
edit1.Text := inttostr(Key);                    


Und hiermit sendest du den Tastendruck:

Delphi-Quelltext
1:
2:
Keybd_Event(Tastencode,0,0,0); // Taste drücken
Keybd_Event(Tastencode,0,KEYEVENTF_KEYUP,0); // Taste wieder loslassen


So gehts mit CursorUp:

Delphi-Quelltext
1:
2:
Keybd_Event(38,0,0,0);
Keybd_Event(38,0,KEYEVENTF_KEYUP,0);


Viel Spass

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


Damit kannst du aber nicht alle Tasten simulieren.. versuch doch mal Ord('.'); etc. Dafür brauchst du dann, wie alzaimar gesagt hat, die VK_XXX Codes. Da liegt das Problem wie er schon gesagt hat.


MiNiMaG - Sa 15.04.06 00:01

Aha

Also mir ist noch keine Taste aufgefallen, die ich nicht simulieren kann,
aber wenn dem so ist, dann sei es so...