Im Spiel eine Taste drücken

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Im Spiel eine Taste drücken

Beitrag von thminz »

Moin! Ich will gerne eine beliebige Taste im Spiel drücken aber es klappt nich. Im Forum habe ich ein "Api" Befehl gefunden :

Code: Alles auswählen


keybd_event_(#VK_Q, 0, 0, 0)
keybd_event_(#VK_Q, 0, #KEYEVENTF_KEYUP, 0)

Das funktioniert aber in einen Spiel nich. Mit notepad habe ich auch getestet und da klappt es. Aber warum klappt das nich im Spiel? Kann das sein das das Spiel die Tasten nur über die Tasta annimmt aber die simulierten nich? Habt ihr eine Lösung für mich?
Immer Aktuelle Purebasic Version!!
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Im Spiel eine Taste drücken

Beitrag von c4s »

Welches Spiel? Deines, eines oder sogar meines? :o
Suche mal nach dem "SendInput"-API-Befehl, sofern ersteres nicht zutrifft.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Im Spiel eine Taste drücken

Beitrag von shadow »

thminz hat geschrieben:Moin! Ich will gerne eine beliebige Taste im Spiel drücken aber es klappt nich. Im Forum habe ich ein "Api" Befehl gefunden :

Code: Alles auswählen


keybd_event_(#VK_Q, 0, 0, 0)
keybd_event_(#VK_Q, 0, #KEYEVENTF_KEYUP, 0)

Das funktioniert aber in einen Spiel nich. Mit notepad habe ich auch getestet und da klappt es. Aber warum klappt das nich im Spiel? Kann das sein das das Spiel die Tasten nur über die Tasta annimmt aber die simulierten nich? Habt ihr eine Lösung für mich?
Hört sich fast nach einem Bot-Programm an :twisted:
Dann müsstest du aber zuerst den Hacker-Schutzwall umgehen :lol:


Aber mal meine grauen Gehirnzellen anstellt: Ich glaube das zur Zeit aktive Fenster kriegt das Key-Ereignis. Bist du sicher, dass das Spiel den Focus hat und nicht vielleicht ein anderes Control-Element des Spiels?
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Im Spiel eine Taste drücken

Beitrag von thminz »

danke für eure antworten! Ich habe mal im code archiv durchgeforstet und habe weitere beispiele gefunden. Da gibt es 3 unterschiedliche Beispiele. 1. keybd_event 2. VkKeyScan 3. SendInput Aber alle Beispiele haben im Spiel versagt :( Warum? Es ist weder mein noch dein Spiel. Es ist irgend ein Simulations Spiel. Und das Spiel hat auch den Fokus weil ich jeder Zeit eine Taste drücken kann und meine selbst gedrückte Taste wird auch anerkannt. Nur wenn mein Program eine Taste drücken soll dann klappt es nich. :( Mit notepad haben alle Beispiele funktioniert nur wenn ich den Code ausführe und das Spiel starte dann passiert nichts. Warum und wie kann das sein udn wie kann ich das Problem lösen ? :cry: Ja es soll ein Bot-Proggy sein für ein Game aber kein Online-Game!!
Immer Aktuelle Purebasic Version!!
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Im Spiel eine Taste drücken

Beitrag von shadow »

thminz hat geschrieben:... Ja es soll ein Bot-Proggy sein für ein Game aber kein Online-Game!!
Also, ich denke ich weiß was das Problem ist... Aber solche Hääääkchääään a la Bot/Virus/Trojaner sind in diesem Forum untersagt >_<
Weil es z. B. im Beispiel des Spiels gegen die AGB's des Herstellers verstößt. Und komm schon, wer schreibt denn einen Bot für ein Offline-Game :roll:
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Im Spiel eine Taste drücken

Beitrag von thminz »

shadow: Ich will nicht haken oder ein Trojaner programmieren. Ich will auch keine Menschen töten oder vergewaltigen. Ich will eher nur ein "Makro" schreiben das bestimmte Tasten im Spiel drückt wie zb das mein "Makro" ein Auto nach links fährt. Sonst nichts. Und das ist noch lange nicht ilegal. Es gibt für andere Spiele viele Trainer Tools und die machen viel schlimmeres wie irgendwelche Werte im speicher verändern. Gibt es keine möglichkeit das mein prog Tasten im Spiel eintippt die auch akzeptiert werden? :)
Immer Aktuelle Purebasic Version!!
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Im Spiel eine Taste drücken

Beitrag von shadow »

Musst du die Anwendung über den Administrator laufen lassen? Denn wenn dem so ist, musst du deine Anwendung auch unter dem Administratormodus laufen lassen (Compiler-Einstellungen), sonst hast du nicht das "Recht" irgendwelche Ereignisse an das Programm zu senden...

Na, kommen wir dem Problem schon näher?
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
Bisonte
Beiträge: 2476
Registriert: 01.04.2007 20:18

Re: Im Spiel eine Taste drücken

Beitrag von Bisonte »

Man muss mal wieder alles aus der Nase ziehen ;)
Es ist irgend ein Simulations Spiel.
Ein Tipp : Logitech G15/G19 eignet sich für sowas, und das auch noch
legal ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Im Spiel eine Taste drücken

Beitrag von shadow »

Bisonte hat geschrieben:Man muss mal wieder alles aus der Nase ziehen ;)
Es ist irgend ein Simulations Spiel.
Ein Tipp : Logitech G15/G19 eignet sich für sowas, und das auch noch
legal ;)
Nope /:->
Das steht extra in den AGB's der Hersteller von Online-Spielen, dass diese programmierbaren Tastaturen nicht erlaubt sind...
Aber wie gesagt, der TE hat ja gemeint, dass es nicht darum geht. Von daher und wenn er ein bissel kohle über hat wär das eine komfortable lösung...
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
The Shark
Beiträge: 37
Registriert: 03.03.2011 00:03

Re: Im Spiel eine Taste drücken

Beitrag von The Shark »

Probiers mal, indem du das KEYEVENTF_SCANCODE Flag bernutzt und den Scancode einsetzt. DirectX erwartet nämlich Scancodes, keine VirtualKeys.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Bild
Bild
Antworten