Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi globalstes tasterturereignis? (https://www.delphipraxis.net/77317-globalstes-tasterturereignis.html)

Timi-loader 17. Sep 2006 18:36


globalstes tasterturereignis?
 
hallo

undzwar habe ich es vergeblich versucht einen tastendruck an bestimmte programme bzw spiele zu senden (project64 und needforspeed underground) also diese beispiele akzeptieren einfach kein keybd_event

gibt es noch andere arten einen tastendruck zu senden?.. also mit vllt höherer priorität oder ebend besser so, dass es ebend als originaltaste erkannt wird?

mfg
timi-loader

mkinzler 17. Sep 2006 18:38

Re: globalstes tasterturereignis?
 
Die Speile werden DirectInput einen Teil von DirectX verwenden. Vielleicht findest du dort was.

SirThornberry 17. Sep 2006 18:40

Re: globalstes tasterturereignis?
 
auch mit oben besagter Funktion hatte ich bisher immer erfolg. ALLERDINGS hat es nicht genügt die Taste zu drücken und gleich wieder los zu lassen sondern musste eine weile gehalten werden. Ich vermute mal die Anwendungen reagieren nicht auf mousemessages etc. sondern fragen einfach zyklich die Tasten ab ob diese gedrückt sind und somit bleibt nix anderes übrig als die Taste lange genug zu halgen so wie es der nutzer auf der realen Tastatur auch macht.

Timi-loader 17. Sep 2006 19:11

Re: globalstes tasterturereignis?
 
also mit dem zwischendurch warten reicht auch nicht... habs probiert

aber dieses direktx directinput klingt gut^^
also mal schauen, was ich dazu finde... wenn einer hier dazu was genaueres sagen kann wars auch cool^^

thx und mfg

Timi-loader 17. Sep 2006 20:52

Re: globalstes tasterturereignis?
 
hab inner zwischenzeit wilde weiter rumgesucht... hab was gefunden, nennt sich sendinput .. hat das irgendeinen vorteil?.. also ich hab hierbei das prob, dass onwohl ich den tastendruck eigendlich noch nicht released habe, die taste nicht weiter gedrückt wird.. also wird ebend nur einmal gedrückt und man baucht also garkein KEYEVENTF_KEYUP; njo..
hm

SirThornberry 17. Sep 2006 21:26

Re: globalstes tasterturereignis?
 
funktioniert es denn mit send input? Eigentlich gibt man ja bei SendInput auch Up an wenn man die Taste los lassen will. Von daher wundert es mich schon das die Taste bereits vorher als up registiert sein soll.

Robert Marquardt 18. Sep 2006 05:44

Re: globalstes tasterturereignis?
 
SendInput baut auf keybd_event und mouse_event auf. Es stellt sicher das in die Sequenz keine anderen Tasten von anderen Applikationen oder der Tastatur dazwischenkommen.
Bei keybd_event muessen alle Parameter konsistent ausgefuellt sein. Der zweite Parameter bScan darf nicht 0 sein. DirectInput akzeptiert keine inkonsistenten Parameter.
Viele Spiele schuetzen sich heutzutage gegen synthetische Tastendruecke als Anti-Cheat-Massnahme.

Timi-loader 18. Sep 2006 16:51

Re: globalstes tasterturereignis?
 
...nurmal ne generelle frage:

hat es bisher überhaupt jemand geschafft einem fremden programm/spiel einen tastendruck zu senden, dass directinput verwendet?

mfg

Robert Marquardt 19. Sep 2006 05:24

Re: globalstes tasterturereignis?
 
Ja, ich. Ich benutze eine Claw (http://www.claw.com.au) und die laeuft hervorragend mit den Games zusammen, die ich besitze.
Das liegt daran das ich die Software dafuer geschrieben habe.
Ich besitze allerdings keine aktuellen Games. So bei UT 2004 ist Schluss.

SirThornberry 19. Sep 2006 07:16

Re: globalstes tasterturereignis?
 
Also ich hatte es zuletzt bei GTAIII probiert und da hat es mit Keybd_event funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz