用“FindWindow”查找窗体,再发送“WM_CLOSE”消息关闭它

解决方案 »

  1.   

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
    Private Const WM_CLOSE = &H10
    Dim hArjWnd as longhArjWnd=FindWindow(vbNullString,"Arj.exe")
    Do While hArjWnd
      SendMessage hArjWnd,WM_CLOSE,0,Byval 0&
      hArjWnd=FindWindow(vbNullString,"Arj.exe")
    Loop
      

  2.   

    不行,我刚刚测试过,不能找到ARJ的DOS窗口!
      

  3.   

    试一试:hArjWnd=FindWindow(vbNullString,"ARJ")