La Web del Programador: Comunidad de Programadores
 
    Pregunta:  39635 - CERRAR TODAS LAS VENTANAS ACTIVAS DE IE
Autor:  Edwyn Ivan Salamanca M.
Hola a todos.
Mi nombre es edwyn Salamanca Estoy buscando una funcion o alguna Api de Win que cierre varias ventanas de IE (1,2,3,4...) ya que con la api findwindow y postmessage solo e podido cerrar una. e tratado de hacer una rutina con for o con With hasta con un timer pero no lo he logrado
les agradezco si alguien me puede ayudar con este tama

Muchas gracias

  Respuesta:  Luis M. Mora.
Saludos aqui tienes el Codigo:

A nivel de Modulo:

Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Declare Function PostMessage Lib "user32" Alias _
"PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Public Const WM_CLOSE = &H10

En un Fomulario con timer a 1000

Private Sub Timer1_Timer()

If ContVentanas = 60 Then
ContVentanas = 0
TimerCierre.Interval = 0
End If

ContVentanas = ContVentanas + 1

winHwnd = FindWindow("IEFrame", vbNullString)
If winHwnd <> 0 Then
retVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If retVal = 0 Then
'MsgBox "Error al enviar el mensaje."
End If
Else
'MsgBox "El Internet Explorer no está abierto."
If ContVentanas >= 20 Then _
TimerCierre.Interval = 0
End If
End Sub

Si te no te sirve enviame un email para enviarte un programa que lo hace cada un segundo o menos...Saludos