Keystroke/Tastendruck simulieren für Spiele / DirectInput

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
osta
Beiträge: 87
Registriert: 08.09.2004 11:48
Wohnort: Morsbach (Am Arsch der Welt)
Kontaktdaten:

Keystroke/Tastendruck simulieren für Spiele / DirectInput

Beitrag 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.
Ich hänge zu oft und zu lange vor dem PC! Ich muss dringend was an meinem Lebenswandel verändern!.......
Nur heute geht's grad nicht.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

keybd_event_() und mouse_event_() funktionieren beide auch unter DirectX Anwendungen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag 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.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Vermutlich Codeinjection oder DLL-Injection, die dafür sorgen, dass diese beiden Befehle normal nutzbar sind...
Antworten