如果不出意外的话,估计楼主对这个API的使用很难搞懂,一楼说的这些东西到处可以整到,如果要用到实际代码中的话,仅用上面那些是实现不了的。很麻烦,我直接给你写一个练习吧,你就会明白。。。你把这个代码放VB用一下就行了。建一个按钮。。。
Option Explicit
'鼠标操作事件
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 Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Const MOUSEEVENTF_LEFTUP = &H4 ' 左键弹起
Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' 左键按下
Private Type POINTAPI
x As Long
y As Long
End Type
Dim po As POINTAPI '获取鼠标位置
Dim poOld As POINTAPI '存储鼠标移动前的位置
'测试,无意义
Private Sub Command1_Click()
Print "Command1.Click"
End Sub
Private Sub Command2_Click()
GetCursorPos poOld
po.x = Command1.Left + Command1.Width / 2 + Me.Left / Screen.TwipsPerPixelX
po.y = Command1.Top + Command1.Height + Me.Top / Screen.TwipsPerPixelY
SetCursorPos po.x, po.y
mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0&
'这里可以放左键按下的任意代码
mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&
'SetCursorPos poOld.x, poOld.y '这个你可以不要,如果要了这个,就成虚拟鼠标了,也就是这个鼠标在别的地方悄悄地点了一下,但你不会发现他点了。
End Sub
~~~~~~~~~~~~~`
如果你还不明白,你就加我QQ吧。。。已经写的很详细了。。。
温馨提示:答案为网友推荐,仅供参考