Kurzversion:C++ unter Windows: DirectInput ohne Fenster verwenden?
Wie kann ich zu initialisieren und Directinput verwenden, wenn ich keinen Zugriff auf die HWND/HINSTANCE haben?
Hintergrundinformation:
ich derzeit SFML für die meisten Teile meines Programm verwende, unter anderem für die Fenstererstellung. Klappt wunderbar. Aber ich bin nicht vollständig zufrieden mit SFML Eingabesystem (z. B. möchte ich XInput für XBox 360 Gamepads) und möchte meine eigenen schreiben.
Ich habe bereits den XInput Teil geschrieben, aber für andere Gamepads/Joysticks/... brauche ich auch DirectInput. Da SFML den Windows-bezogenen Code vom Benutzer verbirgt (und dies zu Recht), habe ich keinen Zugriff auf die HWND oder HINSTANCE. Wie kann ich DirectInput ohne es verwenden? Vielleicht fangen Sie die ganze Zeit ein, nicht nur wenn das Fenster aktiv ist? (Ich konnte es dann auf Filter basierend auf den Fenster (de) aktiviert Ereignis.)
Danke,
Herr Wonko
Danke, das wird ausreichen. Obwohl darüber nachzudenken ... nein, das Eingabesystem wird initialisiert, bevor ein Fenster erstellt wird (und ich würde das lieber nicht ändern). Gibt es eine Möglichkeit, DirectInput ohne ein Fenster zu verwenden? –
Wo benötigen Sie den Fenstergriff? DirectInput8Create() benötigt weder einen noch CreateDevice(). –
Oh, richtig! Das Hinstance ist anscheinend genug. Nach dem Betrachten scheint das so einfach zu sein wie GetModuleHandle (NULL). Danke für die Hilfe, ich sollte das jetzt tun können. –