C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: WebBrowserで送信データを取得する方法


(過去ログ 74 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■43602 / inTopicNo.1)  WebBrowserで送信データを取得する方法
  
□投稿者/ うっちー (1回)-(2009/11/13(Fri) 12:28:24)

分類:[C#] 

WebBrowserでカスタムブラウザを製作しているのですが、

フォームに色々なデータを入力して送信するサイトで
WebBrowser.Navigatingでページ移動の前に
これから送信するpost等の送信データを記憶しておきたいのですが
できる方法はあるでしょうか。

これから移動するURLの取得は
private void webBrowser1_Navigating(object sender,WebBrowserNavigatingEventArgs e)
{

}

としたとき
e.Url.ToString()
で取得できるのですが
他のデータを取得する場合はどうすればよいのでしょうか。

なにぶん初心者なものでよろしくお願いします。
引用返信 編集キー/
■43613 / inTopicNo.2)  Re[1]: WebBrowserで送信データを取得する方法
□投稿者/ Hongliang (510回)-(2009/11/13(Fri) 15:00:10)
DWebBrowserEvents2::BeforeNavigate2 イベントを利用する必要があります。ただしこれは COM のイベントであり、WebBrowser から直接扱うことは出来ません。
このイベントを使用する一般的な方法は、WebBrowser を派生させて CreateSink をオーバーライドすることですが、少々難しいでしょうね。

参照の追加で shdocvw.dll を追加します。
// COM のタブになかったら、参照タブで直接 DLL を指定してください。%windir%\system32 の中にあると思います。64bit 版 Windows なら SysWOW64 の方のかな。
WebBrowser の ActiveXInstance プロパティを、SHDocVw.WebBrowser にキャストできるようになります。この SHDocVw.WebBrowser には前述の BeforeNavigate2 イベントが用意されています。
ただし、一度 Navigate するまでは ActiveXInstance は null を返すようです。事前に about:blank などに Navigate しておくのがいいでしょう。
引用返信 編集キー/
■43622 / inTopicNo.3)  Re[2]: WebBrowserで送信データを取得する方法
□投稿者/ うっちー (3回)-(2009/11/13(Fri) 18:02:18)
No43613 (Hongliang さん) に返信

> WebBrowser の ActiveXInstance プロパティを、SHDocVw.WebBrowser にキャストできるようになります。この SHDocVw.WebBrowser には前述の BeforeNavigate2 イベントが用意されています。
> ただし、一度 Navigate するまでは ActiveXInstance は null を返すようです。事前に about:blank などに Navigate しておくのがいいでしょう。

回答ありがとうございます。
すみません。
説明が良く理解できないので、勉強して出直します。掲示板で質問するには知識が浅すぎました。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -