I'm opening an .exe through a invisible MDI form.
How can I unload this .exe afterwards
Printable View
I'm opening an .exe through a invisible MDI form.
How can I unload this .exe afterwards
what is the executables window caption?
da_silvy asked about the caption of the open window because that is what is used to close another running application (regardless of how it got running). If you know the caption, then use this.VB Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Long Private Const WM_CLOSE = &H10 Private Const WM_QUIT = &H12 Private Sub Command1_Click() Dim CloseIt As Long CloseIt = FindWindow(vbNullString, "Caption Of Window To Be Closed") PostMessage CloseIt, WM_CLOSE, CLng(0), CLng(0) End Sub
VB Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 Long Private Const WM_CLOSE = &H10 Private Const WM_QUIT = &H12 Private Sub Command1_Click() Dim CloseIt As Long CloseIt = FindWindow(vbNullString, "Caption Of Window To Be Closed") If CloseIt <> 0 Then PostMessage(CloseIt, WM_CLOSE, CLng(0), CLng(0)) End Sub
It's a better idea to only post the message if a window is found
I think it might hang otherwise :eek:
If it's an office program, you can close it with other methods also