Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
WebBrowserの<Title>の取得について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9144#CommentId11785
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2009/6/9 19:27:27
> ・リンクをクリックしたらwavを鳴らす
wav ファイルを鳴らす方法については、Visual Basic 中学校で既に紹介されていますね。
http://homepage1.nifty.com/rucio/main/Samples/s_mm1.htm
WebBrowser に表示された HTML ドキュメントのクリックは、onclick イベントで取得できます。
http://msdn.microsoft.com/en-us/library/ms536913.aspx
http://support.microsoft.com/kb/246247/ja
上記では document オブジェクトの onclick をとらえていますが、A オブジェクトの場合にも応用できるはずです。
なお、クリック以外あるいは A タグ以外のページ遷移にも対応させたければ、BeforeNavigate2 イベントを利用できます。
http://msdn.microsoft.com/en-us/library/aa768326.aspx
> ・リンクをクリックしてそれがjpg,gif,png画像ファイルだったら別なウィンドウを発生させる
少々面倒ですが、こんな手順で実装できるかと思います。
(1) BeforeNavigate2 イベントで URL を拾う。
(2) ServerXMLHttpRequest オブジェクトで、その URL をバックグラウンドでリクエスト。
(3) 返却された結果が画像かどうかを調べる。
→ Content-Type ヘッダで判断するか、実際に受け取ったバイナリの内容から調査。
(4) 画像では無い場合、そのまま BeforeNavigate2 イベントを Exit Sub する。
(5) 画像だった場合、WebBrowser を貼った別フォームを New で生成し、空ページを表示。
→ Navigate "about:blank" させた後、読み込み完了まで待つ。
(6) 自ウィンドウで開かれてしまうのを防ぐため、BeforeNavigate2 イベントの
Cancel 引数に True を代入しておく。
(7) (5) の WebBrowser の Document プロパティを、IPersistStreamInit 型の変数に Set する。
→ IPersistStreamInit は、下記の OLELIB.TLB を参照設定すると使えます。
http://www.mvps.org/emorcillo/en/code/vb6/index.shtml
(8) (7) の変数を通じて、IPersistStreamInit の Load メソッドを呼び出し、
その Load メソッド引数に、(2) の ServerXMLHttpRequest の responseStream プロパティを渡す。
(9) 最後に、(5) で生成したフォームを Show メソッドで表示させて完成。