私のコードでは、次のいずれかが発生したときにスローするために、MSDN で宣言されProcess.Kill()
ている呼び出しを行う必要があります。Win32Exception
- 関連するプロセスを終了できませんでした。
- プロセスは終了しています。
- 関連するプロセスは Win16 実行可能ファイルです。
MSDNによると、この組み合わせは、プロセスの終了中に が呼び出されたときに発生Win32Exception
しAccess is denied
ます。他の 2 つのケースについては、そのような詳細は文書化されていません。NativeErrorCode
Kill()
したがって、この状況を合理的に処理する必要があります。もちろん、キャッチすることはできますWin32Exception
が、なぜそれが投げられたのか正確に知るにはどうすればよいでしょうか? プロセスがすでに終了している場合は何もする必要がなく、それ以外の場合は例外を再スローする可能性があります。
この特定のケースを特定して処理するにはどうすればよいですか?