Declare Function FindWindow Lib \"user32\" Alias \"FindWindowA\" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function SendMessage Lib \"user32\" Alias \"SendMessageA\" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_CLOSE = &H10
Public Const NILL = 0&
Public Const WM_SYSCOMMAND = &H112
\' Primero activá la Calculadora
Private Sub Command1_Click()
HWH=Findwindows(0&,\"Calculadora\")
If HWH <> 0 then
SendMessage HWH, WM_SYSCOMMAND, SC_CLOSE, NILL
Else
msgbox \" No está activa la Calculadora\"
EndIf
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
PostMessage WinWnd, WM_CLOSE, 0&, 0&
Sólo tienes que pasarle el manejador de la ventana que lo puedes obtener facilmente con el API FindWindow, y listo.
Saludos