![]() |
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:
Aufrufen passiert dann etwa so:
procedure SendKey(Key: integer);
begin postmessage(ARHandle, WM_KEYDOWN, Key, 0); postmessage(ARHandle, WM_KEYUP, Key, 0); end;
Delphi-Quellcode:
Problem: Wenn ich 'w' sende, erkennt das Spiel F8, da beide ASCII 119 sind:
SendKey(Ord('w'));
Delphi-Quellcode:
Also, weiß jemand die Lösung?
ShowMessage(inttostr(vk_F8));
ShowMessage(inttostr(Ord('w'))); Gruß LDer! |
Re: Tastendruck simulieren
Probier mal das hier:
Delphi-Quellcode:
Virtual Keycode <=> ASCII-Code ;)
SendKey(VK_w);
|
Re: Tastendruck simulieren
Zitat:
|
Re: Tastendruck simulieren
Oh, äh mein fehler :wall:
Probiers mal mit dem ascii-Code vom Großbuchstaben, also
Delphi-Quellcode:
:stupid:
SendKey(Ord('W'));
|
Re: Tastendruck simulieren
Es passiert nichts. Noch nicht mal der F8-Effekt(der das Handelsfenster aufruft)
|
Re: Tastendruck simulieren
Schau dir mal
![]() |
Re: Tastendruck simulieren
Gleicher Effekt.
|
Re: Tastendruck simulieren
|
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 ![]() |
Re: Tastendruck simulieren
Gleicher Effekt...
Kann man ein Handle auf einen Prozess bekommen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz