代码如下,在sendkeys按下截图组合键后鼠标坐标会执行,但鼠标左键按下和抬起的两个动作不执行,不知道是什么原因,希望有大佬能帮助一下。
[Visual Basic] 纯文本查看 复制代码 Public Declare 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)
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public Const MouseEventf_LeftDown = &H2 '按下左键
Public Const MouseEventf_LeftUp = &H4 '弹起左键
Type POINTAPI
x As Long
y As Long
End Type
Public Function 移动到(x As Long, y As Long)
SetCursorPos x, y
End Function
Public Function getmouse_x_y() As POINTAPI '坐标
GetCursorPos getmouse_x_y
End Function
Public Function 左单击(单击次数 As Long)
For MKi = 1 To 单击次数
mouse_event MouseEventf_LeftDown, 0, 0, 0&, 0&
mouse_event MouseEventf_LeftUp, 0, 0, 0&, 0&
Next MKi
End Function
Sub test()
移动到 450, 230 '移动到截图起始位
SendKeys ("^%a") '组合键截图
' 左单击 1
mouse_event MouseEventf_LeftDown, 0, 0, 0&, 0& '按下开始截图
' delay 1
移动到 1300, 1030 '移动到截图末位
mouse_event MouseEventf_LeftUp, 0, 0, 0&, 0& '松开左键
'滚动鼠标滚轮
End Sub
|