27

現在、 Process.Kill() を使用してプロセスを強制終了しています。ただし、すぐに強制終了するのではなく、プロセスを閉じるように指示するメッセージをプロセスに送信して、正常にクリーンアップしてシャットダウンできるようにする方法はありますか。基本的に、右上隅にある赤い X をクリックするのと同等のものを探しています。これは、アプリケーションにシャットダウンを要求するメッセージを送信すると信じています。

4

3 に答える 3

38

プロセスに Windows インターフェイスがある場合 (赤い「X」を参照)、 を試すことができますProcess.CloseMainWindow()。失敗した場合は、にフォールバックできますProcess.Kill()

于 2010-08-05T05:32:06.457 に答える
5

殺害は優雅に行うことはできません。おそらく、プロセスに自殺の合図を送ることができます。シグナリングには多くのオプションがあります。

  • メッセージを送る
  • 名前付きパイプ
  • 名前付きミューテックス
  • ソケット
于 2010-08-05T05:42:03.733 に答える
3

それはあなたが殺しているプロセスに依存します。の関連ページで述べられているようにProcess.Kill、「kill は、グラフィカル インターフェイスを持たないプロセスを終了する唯一の方法です。」グラフィカル ウィンドウがある場合は、上記の lc による回答を使用してください。Process.CloseMainWindowあなたが言及した赤いXとして機能します。

于 2010-08-05T05:41:21.693 に答える