vb api mouse_event问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:46:16
Private Sub Timer1_Timer()
SetCursorPos 111, 111
mouse_event M00SEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOOSEEVENTF_RIGHTUP, 0, 0, 0, 0
Timer1.Enabled = False
End Sub
为什么次序没有按下鼠标左键 就是移动了一下?帮我解决下
还是不行 只有把鼠标移动到111,111 并没有起到按下去的效果

Private 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)
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Text1 = 123456

End Sub

Private Sub Timer1_Timer()
SetCursorPos 111, 111
mouse_event MOUSEEVENTF_LEFTDOWN And MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
Timer1.Enabled = False
End Sub

如果有按下去 那么text1就能显示123456了 我在111,111的位置设置了一个按钮没用哦

因为你写错了几个字符
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
这样才对

而且请加入api申明和定义变量
Private 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)

Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10