3

Visual Studio 2010 では、c# を使用しています。

私はブラウザを開きます:

private IE browser;

private void Set_Browser()
{
    string splashUrl = "google.com";
    browser= new IE(splashUrl);
}

ユーザー (人) が誤ってブラウザを閉じた場合、アプリケーションは動作しなくなります。

質問:

  1. では、ユーザーがブラウザを手動で閉じたかどうかを確認するにはどうすればよいでしょうか?
  2. ブラウザーをコントロールとしてアプリケーション GUI に追加することで、ユーザーがブラウザーを閉じることができないようにすることはできますか? [Windows フォームを使用]
  3. ->どうすればいいですか?

この投稿に関連する最後の質問WebBrowser コントロールで watin を使用するには? (2歳ですが、まともな答えもありません)

編集:指定された URL のソリューションは機能しているようです。問題は、WebBrowser.ActivateX ..をオブジェクトとして他のクラスに送信しようとした場合です。次に、私の browser = new IE(..) は null を返します。ただし、フォームクラスでインスタンス化すると機能します。解決策はありますか?

4

2 に答える 2

3

x 秒ごとに Internet Explorer のプロセスを検索し、次のコードを使用してブラウザーが既に実行されているかどうかを確認できます。

    bool isRunning = false;
    foreach (Process clsProcess in Process.GetProcesses()) {
            if (clsProcess.ProcessName.Contains("iexplore"))
            {
                    isRunning = true;
                    break;
            }
    }

この記事を使用できます

または、この記事を使用してアプリケーションにブラウザー コントロールを追加することもできます

于 2012-12-30T14:28:02.950 に答える
0

できることの 1 つは、ブラウザーを非表示にして、ユーザーがブラウザーを閉じないようにすることです。この SO の質問を参照してください。

WatiN の実行時に Internet Explorer を非表示にする

于 2012-12-30T15:22:34.487 に答える