RE:Necesito cerrar una ventana
Bueno, estimado amigo ya te encontraste con la necesidad de utilizar las API de windows, personalmente te recomendaria que investiguez sobre el tema, en la seccion cursos de esta web encontraras un tema muy interesante para que te ayudes Programación en Windows 32bits en el SubTema C/Visual C.
Por lo pronte te envio un ejemplo que esta en Visual Basic no tengo disponible la traduccion a VFP pera te puede srvir de referencia.
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