Was wäre die sauberste Methode zum Bestimmen, ob das aktive Vordergrundfenster direct3d verwendet.Überprüfen, ob das aktive Fenster direct3d verwendet
Ich weiß, ich kann überprüfen, ob es d3d Module geladen hat, aber das allein bestätigt nicht ohne einen Schatten eines Zweifels, dass es mit direct3d Rendern ist.
Ich könnte den Speicher durchsuchen, um zu sehen, ob Instanzen der Klassen initialisiert wurden, aber das dauert zu viel CPU und Zeit.
Die Lösung muss sehr schnell und sehr ressourcenschonend sein, damit sie einmal pro Sekunde verwendet werden kann, um festzustellen, ob meine eigene Anwendung geschlossen werden muss, um Ressourcen freizugeben.
Meiner Meinung nach wäre der einzige garantierte Weg, einen systemweiten Hook zu installieren und Ihren Code in den Hooks IDirect3dDevice9 Present zu injizieren. – VuVirt
Das sollte bei den Spielen Direct3D 10, Direct3D 11 und Direct3D 12 vollständig fehlschlagen. Einhaken ist immer brüchig. –
Sie können OpenGL, Vulkan, etc zur Liste hinzufügen ... – galop1n