![]() |
In DirectX Spiel "eingreifen"
Wie kann ich einem geöffneten Spiel über Delphi eine Message schicken?
Konkret geht es darum die Maussteuerung von einem Spiel auf Tastatur "umzuprogrammieren". Leider werden die Hotkeys nicht mehr ausgeführt sobald das Spiel im DX Mode läuft |
Re: In DirectX Spiel "eingreifen"
Die Tastatur kannst du per Hook 'abhören', und die maus musst du eben irgendwie 'simulieren'. Ich wette, das dies auch mit Hooks geht ...
ciao, Philipp |
Re: In DirectX Spiel "eingreifen"
Naja ich habe es bis jetzt nur geschafft dass die Befehle im Menü des Spieles angenommen werden.
Sobald aber das Spiel startet wird anscheinend alles abgefangen |
Re: In DirectX Spiel "eingreifen"
Hast du es mit Keyboard Hooks versucht?
Wenn es damit nicht funktioniert könntest du theoretisch per GetAsyncKeyState und nem Timer bestimmte Tastaturtasten abfragen, dies funktioniert auf jeden fall in spielen, aber nicht zuverlässig. Eine weitere möglichkeit wäre, es wie das Spiel zu machen: mit (warscheinlich) DirectInput. Wenn du die Funktion mit welcher das Spiel den tastatur-status bekommt mit einem Hook versiehst, hörst du alles mit und kannst es bei bedarf verändern. Die ist sehr kompliziert, aber möglich. ciao, Philipp |
Re: In DirectX Spiel "eingreifen"
Keyboard Hooks hab ich noch net gemacht
|
Re: In DirectX Spiel "eingreifen"
meinst du jetzt bei irgendeinen oder von dir programmeirten?
|
Re: In DirectX Spiel "eingreifen"
beidem. Vielleicht könnte ja mal wer sich damit besser auskennt einen Ansatz machen.
Der Zweck ist: Interessant wäre zum Beispiel Spiele die man normal nur von Hand steuern kann auch mit der Tastatur zu spielen -> Daher die Mausposition im Spiel zu ändern. Das ist das was ich eigentlich brauche wie ich das zusammenbekomme |
Re: In DirectX Spiel "eingreifen"
hmm.... --> wie c113plpbr schon sgate das geht über hooks ;) Luckie hatte glaub ich ein Tutorial :gruebel:
|
Re: In DirectX Spiel "eingreifen"
Als erstes musst du ja wissen, dass ne Taste auf der Tastatur gedrückt wurde. Dazu schreibst du dir am besten einen Keyboard-Hook (dazu gibts hier in der dp genügend beispiele). Dann weist du, wann eine Taste gedrückt wurde, und auch welche, worauf du dann irgendwie dem Computer beibringen musst, dass die maus bewegt wurde. Wie das aber gehen soll, kann ich mir nur wage vorstellen. (aber wenn ich vielleicht nen bisschen darüber nachdenke ... ;-) )
ciao, Philipp |
Re: In DirectX Spiel "eingreifen"
du machst ne funktion HookAbfrage (quellcodes zur genüge hier) und dann fragste einfach ab
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz