Simple SendMessage prob or killing a window
Ok i am writing a script that basically terminates a program and restarts it anyway the problem is i cannot terminate it. I have tried:
SendMessage lhwnd, &H2, 0, 0
where lhwnd is the hwnd of the window and in theory H2 should be the correct hex for WM_DESTROY but that doesnt work. It gets the right hwnd and the program does respond since if i do:
SendMessage lhwnd, &H10, 0, 0
(H10 being WM_CLOSE which is a weaker form of destroy) it prompts me if i want to exit while connected. Anyway it works if i do it in C++ but unfortunately their are parts of this app that would be a ***** to do in C++ anyway any suggestions or better ways to kill a window
Use PostMessage To Close The Window, and you need to know its caption
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 Sub cmdCloseApp_Click()
Dim CloseIt As Long
CloseIt = FindWindow(vbNullString, "Caption Of Window To Be Closed")
PostMessage CloseIt, WM_CLOSE, CLng(0), CLng(0)
End Sub