アクティブなフォアグラウンドウィンドウがdirect3dを使用しているかどうかを判別する最もクリーンな方法は何でしょうか。アクティブなウィンドウがdirect3dを使用しているかどうかをチェック
d3dモジュールがロードされているかどうかを確認できますが、それだけではdirect3dでレンダリングされているという疑いのないシャドウなしでは確認できません。
私はクラスのインスタンスが初期化されているかどうかを調べるためにメモリをスキャンすることができますが、それはあまりにも多くのCPUと時間を要します。
解決方法は、リソース使用量が非常に速く、非常に低くなければならないため、1秒に1回使用して自分のアプリケーションを閉じて、人々がゲームをするためのリソースを解放する必要があるかどうかを判断する必要があります。
私の意見では、唯一保証された方法は、システム全体のフックをインストールし、そのフックIDirect3dDevice9 Presentにコードを注入することです。 – VuVirt
DIrect3D 10、Direct3D 11、Direct3D 12ゲームでは完全に失敗するはずです。フックは常に脆いです。 –
OpenGL、Vulkanなどをリストに追加することができます... – galop1n