DirectInput, Tastaturproblem bei reinitialisierung



  • Ich probeire im Moment etwas mit der reinitialisierung von DX Komponenten herum nachem raus und reingetabt wurde. Ich habe auch weitestgehend alels im griff, nur DirectInput macht mir ein paar Sorgen. Ich nutze zzt als CoopLevel DISCL_NONEXCLUSIVE|DISCL_FOREGROUND, aber sobald man raus und wieder reintabt klappt das nicht ganz so gut. Die Maus geht noch, die Tastatur spinnt aber herum und macht nichtmehr ganzw as sie soll, dh konkret das pfeiltasten zB funktioneiren, aber die ESC Taste die ich zum beenden gelegt habe oder Taben geht nichtmehr. Acquire sendet mir E_ACCESSDENIED zurück bei Tastatur und Maus. Und auch ein kompletten neuholen der DirectInput Devices bringt keinen Erfolg. Gibt es für dieses Problem eine Lösung? Ich hab schon etwas nachgeforscht jedoch nur auf GameDev einen Artikel gefunden der davon abrädt DirectInput für Tastaturen zu benutzen.

    EDIT:

    Ich hab das ganze ind er Zwischenzeit weiter eingekreist. Es sieht so aus das das Problem auch ohne DirectInput besteht. Das ganze sieht unterm Strich so aus, ich stoppe das Rendern sobald ich WM_ACTIVATE->WS_INACTIVE bekomem und sobald ich das ganze als Active bekomme resette ich alles. Im Konkreten Fall bedeutet das ich gebe die devices frei und alle texturen und lade die Texturen neu. Das Funktioniert auch alles, allerdings scheint das Programm trotz alledem nicht vollkommen im Vordergrund zu landen. Ich kann (trotz deaktivierung) am unteren Ende wo die Taskleiste ist meine Maus sehen, Alt-Tab funktioniert nicht und auf ESC hat schonmal ne Anwendung im Hintergrund reagiert.


Anmelden zum Antworten