Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
idontknow
unregistriert
Glaube, das ist nur via Hook möglich.
1) Du nutzt GetAsyncKeyState und co. und baust dir quasi dein eigenes InputSystem, dass dann die Infos an dein "Fake-Wndproc" weiterleitet
2) Hab etwas gegoogled und du kannst Zugriff auf das Desktop Fenster haben mit GetDesktopWindow(). Meine Idee war es die Wndproc auszulesen und in deiner neuen Wndproc auzurufen und dem Fenster dann deine Wndproc zu übergeben
Wofür genau brauchst du das?
Wie wärs, wenn du ein vollständig transparentes Fenster erzeugst und alle Eingaben fängst, dir das Fenster dann via GetWindowFromPoint holst und dann an das Fenster die Nachricht weiterschickt?
Es gibt auch noch eine Variante von GetWindowFromPoint, die Transparenz beachtet: so musst du dein Fenster nicht immer ein- und ausblenden, wenn du dir das eigentliche Zielfenster holen willst.
Wofür genau brauchst du das?
Naja es geht mir um erster Linie darum Maus- und Tastaturinput nicht von einem Fenster abhängig zu machen.
Und ich habe mein Framework in Module aufgeteilt. Fenster sind im Grafik-Modul und ich wollte eigl. eine extra Input-Modul machen, da Input nicht so in ein Grafik-Modul passt bzw. nicht darein gehört.
idontknow
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 |
while (window.PollEvent(event)) { if (event.type == EventTypeKeyPressed && event.key.code == KeyCodeRight) player.Move(10, 0); } |
Werbeanzeige