Internet Explorerを強制終了させたいと下記のようなプログラムを書きました。
'--------------------------------------------------------------
Public Declare Function PostMessage Lib "USER32" Alias "PostMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam _
As Long) As Long
' 定数
Public Const WM_QUIT = &H12
'-----------------
Private Function QuitIE()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, "TEST - Microsoft Internet Explorer")
Call PostMessage(hWnd, WM_QUIT, 0, 0)
End Function
'-----------------------------------------------------------------
上記のプログラムではメモ帳などのプログラムを強制終了させられるのですが
IEは終了できませんなにか良い方法はないでしょうかよろしくお願いします。
InternetExplorer なら、API を使わずとも、
Quit メソッドで終了させられると思いますが、
それでは都合が悪いのでしょうか?
魔界の仮面弁士さん早速の返信ありがとうございます。
実はIE.Quitで終了を失敗したものを強制的に終了させたかったんです、
IEがメッセージボックスを表示している時があり、そのときにIE.Quitを実行するとErrorになりIEが残ったままになります、IEの子のハンドルを取得してメッセージボックスを閉じる事はできたのですが、その次にIEが終了しませんしさらにIEがハングアップしてしまいます、どうにかならないかなと考えております。
自己解決できました、PostMessage Quitをうまく組み合わせたらエラーにはなりますがIEをCloseする事ができました。
魔界の仮面弁士さんのヒントが役に立ちました、ありがとうございました。
ツイート | ![]() |