如何在打开vb程序form_load的时候,判断是否有IE窗口开着,如果有的话,就将这些IE窗口全部关毕?谢了

解决方案 »

  1.   

    土办法,FindWindowEx IEFrame ...然后SendMessage WM_CLOSE
      

  2.   

    这样够具体了吧Option Explicit
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As Long) As Long
    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Const WM_CLOSE = &H10Private Sub Command1_Click()
        Call FindAndCloseIEWindows
    End SubFunction FindAndCloseIEWindows()
        Dim hWndPre As Long
        Dim hWndNow As Long
        hWndNow = FindWindowEx(0, 0, "IEFrame", 0&)
        Do While hWndNow <> 0
            hWndNow = FindWindowEx(0, hWndPre, "IEFrame", 0&)
            CloseWindow hWndPre
            hWndPre = hWndNow
        Loop
    End FunctionFunction CloseWindow(ByVal hWndTarget As Long) As Long
        CloseWindow = PostMessage(hWndTarget, WM_CLOSE, 0&, 0&)
    End Function