Trucos Cerrar una aplicación

Podemos usar las funciones FindWindow y PostMessage para encontrar una ventana y cerrarla. En el ejemplo veremos cóm cerrar una ventana que tenga como título "Calculadora".

Declaramos en un formulario :

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

Y para encontrar la ventana y cerrarla :

Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "Calculadora")
Debug.Print winHwnd
If winHwnd <> 0 Then
    RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
    If RetVal = 0 Then
        MsgBox "Error enviando mensaje."
    End If
Else
    MsgBox "La Calculadora no está abierta."
End If

Estamos empleando el nombre de la ventana para encontrarla, pero esto no siempre es posible ya que éste puede variar. Lo ideal puede ser buscarla por el nombre de clase de la ventana. En el artículo "Conocer el nombre de clase de una ventana" de esta misma sección se explica cómo conseguirlo.



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com