|
|
|
|
||
教学课题:SPY++ 结合易语言简单应用之模拟鼠标操作(动作)
教学要点:用易语言编程坏境,以计算器为例模拟鼠标输入QQ号:854487915
教学步骤:1、认识API函数:mouse_event
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)mouse_event(模拟鼠标),无返回值;
参数一:操作标志,类型:整数型
MOUSEEVENTF_MOVE 移动鼠标
MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下
MOUSEEVENTF_LEFTUP 模拟鼠标左键弹起
MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下
MOUSEEVENTF_RIGHTUP 模拟鼠标右键弹起
MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下
MOUSEEVENTF_MIDDLEUP 模拟鼠标中键弹起
参数二:目标坐标X,类型:整数型
参数三:目标坐标Y,类型:整数型
参数四:数据信息,类型:整数型,通常设置为0
参数五:扩展数据信息,类型:整数型,通常设置为0
2、利用API函数mouse_event,实现模拟鼠标输入QQ号。
3、代码:
窗口程序集1:
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 窗口坐标结构, 矩形坐标结构
.局部变量 窗口句柄, 整数型
.局部变量 x, 整数型, , , 计算器窗口左边
.局部变量 y, 整数型, , , 计算器窗口顶边
.局部变量 x1, 整数型, , , 右边
.局部变量 y1, 整数型, , , 底边
窗口句柄 = 查找窗口_ (“SciCalc”, “计算器”)
编辑框1.内容 = 到文本 (窗口句柄)
.如果 (窗口句柄 ≠ 0)
取窗口矩形坐标 (窗口句柄, 窗口坐标结构)
标签2.标题 = 到文本 (窗口坐标结构.左边) + “,” + 到文本 (窗口坐标结构.顶边) + “/” + 到文本 (窗口坐标结构.右边) + “,” + 到文本 (窗口坐标结构.底边)
置鼠标坐标 (350 + 窗口坐标结构.左边, 150 + 窗口坐标结构.顶边)
模拟鼠标操作 (#MOUSEEVENTF_LEFTDOWN, 350 + 窗口坐标结构.左边, 150 + 窗口坐标结构.顶边, 0, 0)
延时 (500)
模拟鼠标操作 (#MOUSEEVENTF_LEFTUP, 350 + 窗口坐标结构.左边, 150 + 窗口坐标结构.顶边, 0, 0)
.否则
.如果结束
DLL命令定义表:
.版本 2
.DLL命令 查找窗口_, 整数型, "user32", "FindWindowA"
.参数 窗口类名, 文本型
.参数 窗口标题, 文本型
.DLL命令 置鼠标坐标, 整数型, "user32", "SetCursorPos"
.参数 鼠标坐标X, 整数型
.参数 鼠标坐标Y, 整数型
.DLL命令 取窗口矩形坐标, 整数型, "user32", "GetWindowRect"
.参数 窗口句柄, 整数型
.参数 坐标结构, 矩形坐标结构
.DLL命令 模拟鼠标操作, , "user32", "mouse_event"
.参数 操作标志, 整数型
.参数 目的坐标x, 整数型
.参数 目的坐标y, 整数型
.参数 数据信息, 整数型, , cButtons
.参数 扩展数据信息, 整数型, , dwExtraInfo
自定义数据类型表:
.版本 2
.数据类型 矩形坐标结构, , RECT
.成员 左边, 整数型
.成员 顶边, 整数型
.成员 右边, 整数型
.成员 底边, 整数型
常量数据表:
.版本 2
.常量 MOUSEEVENTF_LEFTDOWN, "2"
.常量 MOUSEEVENTF_LEFTUP, "4"