Spazzarama のDirect3DHook を使用して、アプリケーションからスクリーンショットをキャプチャしています (インターネット経由でストリーミングする目的で)。これは、アプリケーションが DirectX を使用している場合はうまく機能しますが、アプリケーションが DirectX を使用していない場合 (メモ帳など) には失敗します。
- 実行中のアプリケーション (プロセス) が DirectX を使用しているかどうかを確認するにはどうすればよいですか? その理由は、その場合、GDI+ を使用するなど、別の方法で画面をキャプチャする必要があるからです。
- この DirectX アプリケーションがフル スクリーン モードで実行されていない場合、DirectX サーフェスのサイズを取得するにはどうすればよいですか? たとえば、ウィンドウ モードで実行されているゲームの画面をキャプチャする場合、アプリケーション サイズにはウィンドウ フレームなどのサイズも含まれますが、通常、キャプチャした画面は大きすぎます。