ブラウザーを起動し、いくつかの作業を行ってから、ブラウザーを (この順序で) URL にナビゲートする必要があります。
最初の部分はもちろん単純で、Process オブジェクトがあります。後で目的のページに誘導する方法について途方に暮れていますか?
プロセスをブラウザーとして扱い、目的のページに移動するにはどうすればよいですか? ヘルプ、ポインタ、コード スニペットは大歓迎です。
ブラウザーを起動し、いくつかの作業を行ってから、ブラウザーを (この順序で) URL にナビゲートする必要があります。
最初の部分はもちろん単純で、Process オブジェクトがあります。後で目的のページに誘導する方法について途方に暮れていますか?
プロセスをブラウザーとして扱い、目的のページに移動するにはどうすればよいですか? ヘルプ、ポインタ、コード スニペットは大歓迎です。
ブラウザを起動してページに移動する代わりに、URLを実行することをOSに通知するだけです。Windowsは正しいブラウザを選択し、ユーザーを指定されたURLに移動します。
System.Diagnostics.Process.Start("http://www.StackOverflow.com");
本番環境でこれを行う必要がない場合は、WatiN などのテスト ライブラリを使用してこれを行うことができます。
using WatiN.Core;
//Placeholder page to launch initial browser
IE ie = new IE("http://www.google.com");
DoSomeWork();
//Now navigate to the page you want
ie.GoTo("http://stackoverflow.com");
この質問に対する私の最初の本能はDDEでしたが、Windows Vistaで廃止されたようで、それは良くありません。Windows for Interprocess Communication(IPC)で唯一一貫したメカニズムだったので、残念です...ああ、AmigaでArexxが恋しいです。
とにかく、次のように動作すると思いますが、残念ながら、動作の仕方により、設定されたブラウザに関係なくInternetExplorerを起動します。
コードでは、Webページを表示するポイントで、次のコードを使用します。
webBrowser1.DocumentText = "window.open('ブラウザを起動して後でページに誘導する方法は? '、'BananasAreOhSoYummy');";
これは、変装したIEであるWebBrowserコントロールに、「BananasAreOhSoYummy」という新しいウィンドウを開くように指示することです。ウィンドウに名前を付けたので、その行を異なるURLで繰り返し使用して、その特定のブラウザウィンドウのページを変更できます。(ユーザーがたまたまウィンドウを閉じた場合は、新しいウィンドウが開きます。)
ユーザーのデフォルトのブラウザー選択を尊重するアプローチについて考えます。
ブラウザに URL を送信する代わりに、実行してブラウザをサイトに誘導する JavaScript を送信できると思います。
これが機能するかどうかはわかりませんが、機能しない理由はわかりません
IE の実際のインスタンスが必要ない場合は、System.Windows.Forms.WebBrowser コントロールを使用できます。