tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: IE8で複数起動されたブラウザを強制終了したい
投稿日: 2013/02/05(Tue) 00:09
投稿者VBレスキュー(花ちゃん)
>  サブタイトル??が
>  取得できずにIEブラウザが終了しない場合があります。

このサブタイトルとはどのようなものでしょうか?
HTML ファイル上に右クリックした時のプロパティのダイアログの上方に表示される
ものを指しておられるのでしょうか?

下記で取得できますか?
できないとなると、URL で判断するとかできませんか?
逆に全て閉じて必要なものを再起動するとか。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
   Dim objWindows As SHDocVw.ShellWindows
   Dim objIE As SHDocVw.InternetExplorer
   Dim intLoop As Integer

   objWindows = New SHDocVw.ShellWindows
   For intLoop = objWindows.Count - 1 To 0 Step -1
      objIE = objWindows.Item(intLoop)
      If ("HTMLDocumentClass" = TypeName(objIE.Document)) Then
         Debug.Print(objIE.Document.Title)
         If objIE.Document.Title = "削除したいタイトル名" Then
            '該当するIEブラウザであれば終了させる処理
            objIE.Quit()
         End If
      End If
   '   System.Runtime.InteropServices.Marshal.ReleaseComObject(objIE)
   '   objIE = Nothing
   Next
  ' System.Runtime.InteropServices.Marshal.ReleaseComObject(objWindows)
  ' objWindows = Nothing
End Sub

※ この場合、このプログラムを実行したからと言って、タスクマネージャに iexplore.exe が
   増えるわけではないので、変に ReleaseComObject を実行すると逆にエラーが発生し、OS を
  再起動しないと直らない場合の弊害の方が多いので、コメント にしておいて下さい。
  但し、終了させた場合、その分タスクマネージャから iexplore.exe が消えている事を確認
  しておいて下さい。
  私のテスト結果では、このプログラムにおいては、ReleaseComObject を実行しない方が問題が
  発生しなかった事、又、IE を操作する場合、Option Strict Off で実行時バインディング
  (レイトバインディング)で操作する方が無難かと思います。
  もう少し、テストしてからサンプル投稿用掲示板の方にでも投稿します。
  2013/02/07/ 9:32 追加修正

  サンプル投稿用掲示板の方に投稿した分
  http://www.hanatyan.sakura.ne.jp/patio/read.cgi?no=333

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。