用mouse_event就可以了。 Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
本人对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) Private Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下 Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起 Private Const MOUSEEVENTF_RIGHTDOWN = &H8 '模拟鼠标右键按下 Private Const MOUSEEVENTF_RIGHTUP = &H10 '模拟鼠标右键抬起 mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 With Image1 If .Width < 11820 / 4 Then Exit Sub .Move .Left, .Top, .Width / 1.5, .Height / 1.5 End With mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 With Image1 If .Width > 11820 * 2 Then Exit Sub .Move .Left, .Top, .Width * 1.5, .Height * 1.5 End With End IfEnd Sub
发送了鼠标 down 命令 还要发送 相应的 up 命令 不然可能鼠标 就老是down 了 可能是这个问题
Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
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 Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起
Private Const MOUSEEVENTF_RIGHTDOWN = &H8 '模拟鼠标右键按下
Private Const MOUSEEVENTF_RIGHTUP = &H10 '模拟鼠标右键抬起
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
With Image1
If .Width < 11820 / 4 Then Exit Sub
.Move .Left, .Top, .Width / 1.5, .Height / 1.5
End With
mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
With Image1
If .Width > 11820 * 2 Then Exit Sub
.Move .Left, .Top, .Width * 1.5, .Height * 1.5
End With
End IfEnd Sub
还要发送 相应的 up 命令
不然可能鼠标 就老是down 了
可能是这个问题