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_ABSOLUTE = &H8000 '指定鼠标使用绝对坐标系,此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
Private Const MOUSEEVENTF_MOVE = &H1 '移动鼠标
Private Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起
'作用:屏幕点击
'参数:x,x轴点击位置,像素
'参数:y,y轴点击位置,像素
Public Sub ms_Screen_Click(ByVal x As Long, ByVal y As Long)
mw = x / (Screen.Width / 15) * 65535
mh = y / (Screen.Height / 15) * 65535
mouse_event MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, mw, mh, 0, 0
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
'作用:vb窗体点击
'参数:x,x轴点击位置,像素
'参数:y,y轴点击位置,像素
'参数:f,单击窗体名字
Public Sub ms_form_Click(ByVal x As Long, ByVal y As Long, f As Form)
f.SetFocus '//获得焦点
ms_Screen_Click Me.Left / 15 + x, Me.Top / 15 + y
End Sub
Private Sub Command1_Click()
ms_form_Click 478, 359, Me
'ms_Screen_Click Me.Left / 15 + 478, Me.Top / 15 + 359
End Sub
vb 模拟鼠标点击
最新推荐文章于 2025-04-07 08:30:00 发布