System.Diagnostics.Process
C# を使用して外部コンソール プログラムを実行し、クラスのおかげでその出力を取得できます。
コンソールプログラムではない外部プログラムを実行し、その出力を取得する方法はありますか?
「program.exe」があるとします。たとえば、それが 2D ゲームであるとします。そこからビデオストリームを取得することは可能ですか? たとえば、ピクセルの配列で。
はい、可能です。Process クラスでプロセスを開始します。キャプチャするウィンドウの名前を知っている必要があります。次に、win32 api (pinvoked) FindWindow、GetWindowDC、.. を使用して、一定間隔でビットマップを取得します。このアプローチはここで説明されています: http://www.nullskull.com/q/10087766/capturewindow-in-cnet-20-windows-application.aspx
もう 1 つの方法は、画面の四角形をキャプチャする ことです。.NET を使用してスクリーン ショットをキャプチャ し、win32 API GetWindowRect を使用してウィンドウの境界四角形を取得できます。