WebBrowserコントロールでページが閉じられたことを検出したい

このQ&Aのポイント
  • WebBrowserコントロールでページが閉じられたことを検出する方法を教えてください。
  • Visual Basic 2008で使用しているWebBrowserコントロールにはWindowClosingイベントがなくなっているようです。
  • WebBrowserコントロールが閉じられたことを検知するために、代替の方法やアイデアがあれば教えてください。
回答を見る
  • ベストアンサー

WebBrowserコントロールでページが閉じられたことを検出したい

こんにちは。いつもありがとうございます。 .net初心者です(しかもVB) 今回も質問です。 javascript等でwebbrowserが閉じられた場合にそれを検出したいのですが、どのようにしたらよいでしょうか? ネット上で調べたところWindowClosingというイベントがあるみたいですが、私の使っているものにはないみたいでした。 なくなってしまったのでしょうか?VisualBasic2008です。 ちなみに複数タブでページを開けるタブブラウザを作っているのですが、 scriptでページが閉じられた際、見た目上はなにも起こりませんが、 別のタブに移動してからまたその(閉じられたページの)タブに戻ろうとすると、タブは移動しているもののタブページ内のブラウザは表示されません。 (さもページが透明になってしまったかのように前に見ていたページがそのまま表示されている状態です。) これを、タブも一緒に閉じたいのでなんとかWebBrowserコントロールが閉じられたことを検知したいと思っています。 ページが閉じられる際に、WebBrowserのdisposedイベントが呼ばれているかと思って試してみましたが、呼ばれていないようでした。 なにかいい案がありましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> なくなってしまったのでしょうか? そのようです。 参考URLに、VB2005でWindowClosingイベントを再現したコードが掲載されていますので参考にしてみてください。

参考URL:
http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserWindowClosingEvent.htm
selfesteem
質問者

お礼

Wizard_Zero様どうもありがとうございます! 教えていただいたURLの方法で、閉じるイベントを検知することができました。 大変助かりました!!!

関連するQ&A

  • WebBrowser コントロールでフレームを操作したり...

    お世話になります。 以下のWebBrowserコントロールの使用法について、ご教授をお願いしますm(_ _)m ■ハイパーリンクがクリックされた場合や、JavaScript等によるページの移動が行われる際に、ページを表示せずに .LocationURL を使ってリンク先を知る方法について ■フレームページの場合に、フレームのHTMLのURLが値が返されてしまい、フレーム内に表示されているページを取得する方法について ■表示しているHTMLの、フレームを指定してページを移動する方法について(WebBrowserコントロールによって、フレームを操作する方法について) 以上、1つでも構いませんので、知識をお持ちの方はご指導の程お願いしますm(_ _)m なお・・・ 開発環境は・・・ Visual Studio.NET(VB7/.NET Framework1.0)で開発しています。 ※.NET Framework 2.0環境は対応していません。ですので、.NET Framework 2.0等の命令は使えないです;;

  • タブコントロールについて

    お世話になっております VB.NET 2010 Windows7 Windowsフォーム画面の開発をしています タブコントロールについてです 現在、タブページを使用しており、1ページ目で検索、2ページ目に検索結果一覧、3ページ目で詳細が見れるようになっています 1ページ目に検索条件を入れ2ページ目のタブを押すと、入力ミスがあったら2ページ目に遷移せずに入力ミスしたコントロールの場所にフォーカスが飛び、正常なら検索され2ページ目に遷移します ここで質問なのですが、今現在TabControl.Selection イベントに入力チェック、検索処理を書いています 入力チェックでミスがあった場合にタブページを移動しないこと、1ページから2ページ遷移で検索処理を起こすため、次のタブページを検知しなければいけないからです ですが、入力ミスが起こった際、フォーカスが入力ミスした項目に飛びません 1ページ目の最初の項目に飛んでしまいます おそらく、タブページ移動(2ページ目に飛ぶ)→入力ミスでフォーカス移動→タブページ移動キャンセル(2ページ目から1ページ目に飛ぶことでタブコントロールにフォーカス移動)→タブページの次の項目 となっていると思われます DeSelectingイベントに入れると、入力ミスした際にエラーのある項目に飛ぶのですが、そうすると2ページ目に移動しようとしたのか、3ページ目に移動しようとしたのかが分からなくなってしまいます 押したタブページが検知でき、なおかつキャンセルされたときにフォーカスが移動できるような方法ありますでしょうか よろしくお願いします

  • WebBrowser

    言語はVB2010です。 WebBrowser1に表示しているページのタイトルをフォームのタイトルバーに表示して、リアルタイムでタイトルが変わるようにしたいです。

  • WebBrowserコントロールでのPrint機能に関して

    現在、Visual C++ 2008 Express Editionでホームページを印刷するアプリを作成中です。そこで、 WebBrowserコントロールを用いて、そこに表示したページを印刷したいのですが、  webBrowser->Print(); を行う前に、  printDocument1->PrinterSettings-> みたいな印刷設定ってできないのでしょうか? また、印刷終了のイベントはPrintDocumentにはEndPrintがあるようですが、これに相当するものはWebBrowserにもあるのでしょうか? よろしくお願いします。

  • webbrowserに表示させたページのリンクをクリックしたい。

    お世話になります。 vb2005でウェブブラウザにページを表示させて webbrowser1.navigate("http://yahoo.co.jp") 5番目のURLをクリックさせるのはどうすればいいでしょうか? 教えてください。お願いします。

  • WebBrowser上でjavascriptを追加するには

    表題でご存知の方いらっしゃいましたらお願いします。 現在ExcelのVBAからWebBrowserを使っています。 最終的な目的は「WebBrowser上でクリックした画像のURLを クリップボードに保存したい」ですが、いろいろとその前段階で沈没寸前です。 WebBrowserのイベントに該当するものもなく、また開いているページの イベントも拾う方法がわかりませんで、 調べた結果、JavaScriptと連携させることを思いました。 既存のWebページを開いて、そこにJavascriptを埋め込んでと 思ったのですが、できません。 厳密にはinnerhtmlで追記できたのですが、無反応です。 そこでJscriptなども試しましたがイベントを検知できるやり方ができませんでした。 Javascriptを埋め込む方法をご存知の方、または別のアプローチが 有るという方どうぞお願いします。

  • webbrowserでクリックさせないようにしたい

    [言語:C#] [環境:Visual Studio 2005 Express] webbrowserに表示させたページ、あるいはフラッシュに対するクリックを無効に出来ないでしょうか? 可能ならば、WEBページに対するクリックは無効にした上で、 別のマウスイベント(ドラッグでウインドウの移動等)を行えるようにしたいのですが、何か方法はあるでしょうか?

  • 新しいタブが空白ページに戻ってしまう

    Windows7でInternet Explorer 9を使っています。新しいタブを開いたときに表示するページをインターネットオプションのタブ設定から「新しいタブページ」にするのですが、シャットダウンし、再起動すると元の「空白のページ」に

  • .NetのWebBrowserについて

    【環境】 WindowsXp VisualStudio2005 Excel2003 VB.netでWebBrowserを使ってフォームにExcelを表示するアプリがあります。 ある日突然特定の端末でExcelがそのアプリで表示できなくなりました。 ・現在分かっていること (1)他の端末は問題なく使えています。 (2)アプリは修正・等は一切していません(昔に作ったまま) (3)Wordなどは表示できてます (4)Excelのマクロの有無は関係ないと思います(あるものでもないものでも発生しました) (5)Excelを開く際にダイアログが出て開くか保存するか?を聞いてくるので、   ファイルパス間違いとかそういった問題ではありません。 特定端末(1台)だけなので、 その端末の設定的なものだろうと思うのですが、 その端末を使っている人も特になにか変えたつもりがないということで、 原因が分かっておりません。 ソースは、抜粋ですが、 フォームに張り付けたWebBrowserコンポーネントのNavigateに 引数でExcelファイルを指定しているだけのシンプルなものです。 ------------------------------------ Me.WebBrowser1.Navigate(strFileName) ------------------------------------ どなたか、なにか原因について心当たりがある方いらっしゃいましたら、 ご教授ください。

  • vb.netを使ってWeb表示の自動化を図りたい

    VB.netのWebBrowserを使ってWeb表示の自動化を図りたい。 プログラムの流れ概要 1.WebBrowser1.Navigate(New Uri("http://hoge")) で、Web表示 2.Web表示終了イベントを検知。検知するまでwait状態にする 3.次のWeb表示をWebBrowser1.Navigateで行う。 4.以降2 - 3を繰り返す。 これらを、出来れば同じsub()で行いたいと思います。 どのようにすれば、実現出来ますか。 ご教示下さい。

専門家に質問してみよう