Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) 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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetTickCount Lib "kernel32" () As LongPrivate Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_MBUTTONDOWN = &H207
Private Const WM_MBUTTONUP = &H208
Private Const WM_MBUTTONDBLCLK = &H209
Private Const MK_LBUTTON = &H1
Private Const MK_RBUTTON = &H2
Private Const MK_MBUTTON = &H10
Private Const SC_CLOSE = &HF060&
Private Const WM_CLOSE = &H10
Private Const WM_SYSCOMMAND = &H112
Private Const WM_ACTIVATE = &H6'手动打开自带的API浏览器,加载txt文档,然后随即选择一个API声明(因为这样关闭的时候才会弹出确认窗口)
Private Sub Command1_Click()
    Dim b As Long
    
    '问题1: 发送完sc_close弹出确认关闭窗口时程序不往下执行了,怎么办?
    'a = FindWindow("ThunderRT6FormDC", "API 阅览器 - WIN32API.TXT")
    'SendMessage a, WM_CLOSE, 0, 0
    
    
    '手动关闭让他弹出确认关闭窗口
    a = FindWindow("#32770", "API 浏览器")
    b = FindWindowEx(a, 0, "Button", "是(&Y)")    PostMessage b, WM_LBUTTONDOWN, 0, 0
    PostMessage b, WM_LBUTTONUP, 0, 0
    '问题2: 要重复2次才可以关闭,为什么???
    PostMessage b, WM_LBUTTONDOWN, 0, 0
    PostMessage b, WM_LBUTTONUP, 0, 0
End Sub发现这种Dialog类型的窗口(经常在确认关闭,确认选择的时候弹出),只要一出现我的程序就卡在哪了,关闭也关闭不了,得用另一个程序才能关闭他,到底怎么样解决呀(不想用杀进程的方法哦)