Entwickler-Ecke

Sonstiges (Delphi) - Tastendruck simulieren


Chryzler - Fr 05.01.07 20:06
Titel: Tastendruck simulieren
Hallo,

ich habe ein Problem. Ich will einem Programm, genauer gesagt einem Spiel, genauer gesagt Elasto Mania [http://www.elastomania.com/] vortäuschen, dass zum Beispiel eine der Pfeiltasten gedrückt wird. Das hört sich einfacher an, als es ist. Weder keybd_event, noch SendMessage, noch SendInput wirken. Mit ziemlicher Sicherheit fragt das Programm die Tastatur per GetAsyncKeyState oder GetKeyState ab. SetKeyState wirkt zwar bei GetKeyState, aber nur im eigenen Thread. Was soll ich denn jetzt machen? Ich könnte nen Hook auf GetAsyncKeyState machen, oder SetKeyState im Speicher vom andern Programm ausführen, ist aber alles sehr umständlich. Geht das ned einfacher und effizienter?

Chryzler


Chryzler - Fr 05.01.07 21:03

Durch ausgiebiges Testen hab ich rausgefunden, dass Elasto Mania anscheinend GetAsyncKeyState nicht benutzt. GetKeyState auch nicht. Auf jeden Fall wird DirectX benutzt, also warscheinlich DirectInput. Aber irgendwie muss doch DirectInput auch die Tastatur abfragen. Bloß wie?


Chryzler - Sa 06.01.07 20:40

Hat wirklich niemand ne Idee wie man DirectInput nen Tastendruck vorgaukeln könnte? Oder vielleicht benutzt das Game DirectInput gar nicht, ich weiß es nicht. Sonst seid ihr doch auch immer so schnell... :(

Chryzler