我想在一个检测程序里关闭其他的程序,
我用了DestroyWindow,  SendMessage(hwnd, WM_close, 0, 0),能检测到句柄,就是关不上!屡试屡败,请帮一下忙!谢!

解决方案 »

  1.   

    那试试这种方法,
    hwnd=FindWindow("标题",0)CloseWindow(hwnd)
      

  2.   

    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public 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
    Public Const WM_CLOSE = &H10
    Private Sub Command1_Click()
    Dim winHwnd As Long
    Dim RetVal As LongwinHwnd = FindWindow(vbNullString, "程序名")
    Debug.Print winHwnd
    If winHwnd <> 0 Then
      RetVal = PostMessage(winHwnd, WM_CLsOSE, 0&, 0&)
      If RetVal = 0 Then
        MsgBox "error"
        End If
    Else
    MsgBox "meidakaichengxu"
    End IfEnd Sub
      

  3.   

    飞马的closewindow是最小化窗口,而不是关闭;晴天的SC_不知是什么消息,没什么反映;
    只有漂走的云的代码是很完整的,我试过了,问题的关键是给wm_close赋值和使用postmessage,谢谢!