Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tastendruck simulieren (https://www.delphipraxis.net/132132-tastendruck-simulieren.html)

LDericher 6. Apr 2009 19:19


Tastendruck simulieren
 
Also, folgendes:

Ich würde gerne an das Fenster eines Spiels einen Tastendruck senden.
Gleich voraus: es geht hier nicht darum, einen Bot zu programmieren, sondern darum, eine Gamepad-Unterstützung aufzubauen.

Ich mache das bis jetzt folgendermaßen:

Delphi-Quellcode:
procedure SendKey(Key: integer);
begin
postmessage(ARHandle, WM_KEYDOWN, Key, 0);
postmessage(ARHandle, WM_KEYUP, Key, 0);
end;
Aufrufen passiert dann etwa so:

Delphi-Quellcode:
SendKey(Ord('w'));
Problem: Wenn ich 'w' sende, erkennt das Spiel F8, da beide ASCII 119 sind:

Delphi-Quellcode:
ShowMessage(inttostr(vk_F8));
ShowMessage(inttostr(Ord('w')));
Also, weiß jemand die Lösung?

Gruß LDer!

jfheins 6. Apr 2009 20:21

Re: Tastendruck simulieren
 
Probier mal das hier:
Delphi-Quellcode:
SendKey(VK_w);
Virtual Keycode <=> ASCII-Code ;)

LDericher 6. Apr 2009 21:11

Re: Tastendruck simulieren
 
Zitat:

Zitat von jfheins
Probier mal das hier:
Delphi-Quellcode:
SendKey(VK_w);
Virtual Keycode <=> ASCII-Code ;)

gibbet net

jfheins 6. Apr 2009 21:15

Re: Tastendruck simulieren
 
Oh, äh mein fehler :wall:

Probiers mal mit dem ascii-Code vom Großbuchstaben, also
Delphi-Quellcode:
SendKey(Ord('W'));
:stupid:

LDericher 6. Apr 2009 21:49

Re: Tastendruck simulieren
 
Es passiert nichts. Noch nicht mal der F8-Effekt(der das Handelsfenster aufruft)

mleyen 6. Apr 2009 21:59

Re: Tastendruck simulieren
 
Schau dir mal Hier im Forum suchenkeybd_event an, du muss ja nicht unbedingt alle Messages "per Hand" senden.

LDericher 7. Apr 2009 08:03

Re: Tastendruck simulieren
 
Gleicher Effekt.

LDericher 7. Apr 2009 09:15

Re: Tastendruck simulieren
 
CrossPost: http://board.airrivals.de/index.php?...5595#post65595

Remko 7. Apr 2009 11:51

Re: Tastendruck simulieren
 
According to documentation of WM_KEYUP/WM_KEYDOWN you need to specify the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag.

I recently wrote a small article on how to easily do this in Delphi.

LDericher 7. Apr 2009 15:22

Re: Tastendruck simulieren
 
Gleicher Effekt...
Kann man ein Handle auf einen Prozess bekommen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz