首页 /编程语言和算法/VB6/ASP
 VB6 代码管家-模拟鼠标
2024年12月8日 21:59
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 

Private Sub Command1_Click()
	mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0   '鼠标左键单击事件
End Sub

Private Sub Command2_Click()
	mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 '鼠标右键单击事件 
End Sub

Private Sub Command3_Click()
	mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 
	mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
	'-------------------------------------'两次连续的鼠标左键单击事件 构成一次鼠标双击事件 
End Sub
'================================前台模拟================================

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String)  As Long'-查找父句柄
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String)  As Long'-查找子句柄
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)  As Long'-Post后台消息
Private Const BM_CLICK = &HF5             '定义单击常量

Private Sub Form_Load()
	Shell "calc.exe"                          '打开机算器
End Sub

Private Sub Command1_Click()
	Dim a As Long
	Dim b As Long
	a = FindWindow(vbNullString, "计算器")    '查找父句柄
	b = FindWindowEx(a, 0, vbNullString, "1") '查找子句柄,也就是按扭1这个句柄
	PostMessage b, BM_CLICK, 0, 0             '单击按钮
End Sub
'================================后台模拟================================


 
全部回复(0)
首页 | 电脑版 |