Seite 1 von 1

Keystroke/Tastendruck simulieren für Spiele / DirectInput

Verfasst: 06.04.2008 20:54
von osta
Hallo,
Ich bastel gerade ein Schalterbrett für den Microsoft Flight Simulator mit ein paar Knöpfen und schaltern drauf, dass es wie im Cockpit aussieht.
Das Ding wird mit einem Atmega8 angesteuert, der die Tasten über den COM-Port an mein PB Programm weitergibt.
Nun sollen daraufhin Tasten im Flight Simulator gedrückt werden...
Da Spiele im allgemeinen DirectX benutzen oder irgendwie anders auf den KeyboardBuffer zugreifen, kann man hier weder PostMessage_(), noch keybd_event_() benutzen.

Lange Rede, kurzer Sinn:

Ich brauche eine möglichkeit, Tastaturanschläge zu simulieren, sodass es auch von Spielen die zB DirectInput benutzen erkannt wird.
Gibt es eine Möglichkeit, zB den KeyboardBuffer direkt zu manipulieren?

Danke schonmal im Vorraus.

Verfasst: 06.04.2008 21:27
von Fluid Byte
keybd_event_() und mouse_event_() funktionieren beide auch unter DirectX Anwendungen.

Verfasst: 06.04.2008 22:44
von gnasen
Fluid Byte hat geschrieben:keybd_event_() und mouse_event_() funktionieren beide auch unter DirectX Anwendungen.
Leider nicht immer. Gerade bei Spielen werden diese oft nicht verarbeitet, damit die Programmierung von Bots schwerer fällt.

Würde mich aber auch mal interessieren, ob es da eine Möglichkeit gibt.

Verfasst: 06.04.2008 23:06
von hardfalcon
Vermutlich Codeinjection oder DLL-Injection, die dafür sorgen, dass diese beiden Befehle normal nutzbar sind...