PDA

Click to See Complete Forum and Search --> : unloading an non-VB related app


Snakis
Nov 14th, 2001, 01:03 AM
I'm opening an .exe through a invisible MDI form.
How can I unload this .exe afterwards

da_silvy
Nov 14th, 2001, 03:33 AM
what is the executables window caption?

Hack
Nov 14th, 2001, 11:56 AM
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.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

da_silvy
Nov 15th, 2001, 01:01 AM
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