コンソールアプリからFirefoxを開き、それを使って何かを行い、数分後にシャットダウンする必要があります。
Process.Start( "firefox.exe"、 "myurl");を使用しています。Firefoxを開くことは問題ではありません。問題はそれを閉じることです。
CloseMainWindow()関数は通常は機能しますが、Firefoxでモーダルウィンドウが開いている場合(「ダウンロードに失敗しました」メッセージボックスなど)は機能しません。この場合、プロセスでKill()を呼び出すことができますが、これはダーティのようです。
また、プロセスでKill()を呼び出すと、次にFirefoxを開いたときに、「セッションの復元」タブが開きますが、これはクールではありません。セッション復元機能を無効にしようとすると、その問題を回避できます。ただし、そのようにffxを強制終了すると、他の問題が発生する可能性があることを懸念しています。
誰かがこれを行う良い方法を知っていますか?モーダルウィンドウハンドルを取得するためにピンボークして、それを閉じてからCloseMainWindow()を再試行する「最もクリーンな」方法ですか?