C#アプリケーションから別のプロセス(Windows Media Encoder)を閉じる必要があります。これまでのところ、次の方法でそれを行うことができます。
Process.GetProcessesByName("wmenc.exe")[0].CloseMainWindow();
ただし、Media Encoderアプリケーションがストリーミングまたは記録している場合は、終了時にダイアログが表示されます。
「エンコードを停止してもよろしいですか?」
では、CodeからYesボタンに答えるかクリックする方法はありますか?
[編集]多くのユーザーが答えてProcess.kill()
いますが、これはオプションではありません。これは、Windows MediaエンコーダーがすぐにProcess.Kill();
終了し、 Windows Mediaエンコーダーが書き込み中のファイルをファイナライズしないため、ビデオファイルのインデックスを再作成する必要があるためです。 Process.Kill();を使用します。