Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDOWN = &H201
Public Const MK_LBUTTON = &H1
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 Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Sub LeftClick(hwnd As Long, x As Integer, y As Integer)
PostMessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, y * 2 ^ 16 + x '这是后台模拟点击的,这方面的资料偶找了好久啊..
PostMessage hwnd, WM_LBUTTONUP, MK_LBUTTON, y * 2 ^ 16 + x
End Sub
关于4楼的思路,我已经进行了实现,得到了Button句柄后,使用SendMessage发送一个BM_CLICK事件
但是会出现一个Automation错误。
Err: -2147417843 - Automation Error : An Out Going Call Cannot Be Made Because The Application Is Dispatching An Input Asynchronous Call