VBA里mouse_event问题:运行移动完后为什么会自动点击右键啊

Private Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Const MOUSEEVENTF_ABSOLUTE = &H8000 '指定鼠标使用绝对坐标系,此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元

Private Const MOUSEEVENTF_MOVE = &H1 '移动鼠标

Private Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下

Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起

Private Const SW = 1366 '1024

Private Const SH = 768 '768

Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAP) As Long

Private Sub Screen_Click(ByVal x As Long, ByVal y As Long)

Application.Wait Now() + VBA.TimeValue("00:00:03")
mw = Int(x / SW * 65535)

mh = Int(y / SH * 65535)
'MsgBox "X坐标:" & mw & "  Y坐标:" & mh
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_MOVE, mw, mh, 0, 0

'mouse_event MOUSEEVENTF_LEFTDOWN & MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

End Sub

Sub TEST()
Screen_Click 1106, 750

End Sub

移动鼠标用SetCursorPos就可以了。