路径:支持库 → 鼠标支持库。
硬约束
- 扁平命令;屏幕坐标:左上原点,像素。窗口句柄省略/
0=前台窗口。 - 滚轮通常
±120一格(正上负下)。 - 轨迹/等待按键掩码:
1左 ·2右 ·4中 ·8侧1 ·16侧2(可相加)。 - 矩形为半开
[左,右)×[顶,底)。 - 与控件鼠标事件不同:本库是全局操作命令;
SendInput可能被高权限窗拦截。 限制鼠标区域/俘获鼠标结束后务必解除/释放。
快速开始
平滑移动鼠标(800, 400, 400)
模拟鼠标左键单击()
模拟鼠标滚轮(-120)
鼠标左键单击位置(400, 300)
移动鼠标到窗口中心()
鼠标操作
本分类共 41 条。
俘获鼠标
- 签名:
逻辑 俘获鼠标() - 说明:俘获鼠标输入到当前窗口(SetCapture)。拖出控件仍可收到移动/抬起。结束时务必 释放鼠标。
取鼠标双击间隔
- 签名:
整数 取鼠标双击间隔() - 说明:取得系统双击时间间隔(毫秒)。
取鼠标垂直位置
- 签名:
整数 取鼠标垂直位置() - 说明:取得当前鼠标指针的屏幕 Y 坐标。
取鼠标水平位置
- 签名:
整数 取鼠标水平位置() - 说明:取得当前鼠标指针的屏幕 X 坐标。
平滑拖拽到
- 签名:
逻辑 平滑拖拽到(整数 X, 整数 Y, 整数 时长毫秒) - 说明:左键按下后平滑移动到目标再放开。
- 参数一│X
- 参数二│Y
- 参数三│时长毫秒
平滑移动鼠标
- 签名:
逻辑 平滑移动鼠标(整数 X, 整数 Y, 整数 时长毫秒) - 说明:在指定毫秒内平滑移动到目标(缓动)。时长≤0 时等同 移动鼠标。
- 参数一│X
- 参数二│Y
- 参数三│时长毫秒
显示鼠标光标
- 签名:
逻辑 显示鼠标光标() - 说明:显示系统鼠标光标。
曲线移动鼠标
- 签名:
逻辑 曲线移动鼠标(整数 X, 整数 Y, 整数 时长毫秒, 整数 弯曲度) - 说明:沿二次贝塞尔曲线移动。弯曲度为控制点垂直偏移像素,正负决定弯曲方向。
- 参数一│X
- 参数二│Y
- 参数三│时长毫秒
- 参数四│弯曲度: 像素,常用 ±50~±200
模拟鼠标中键单击
- 签名:
逻辑 模拟鼠标中键单击() - 说明:在当前鼠标位置模拟一次中键单击。
模拟鼠标中键按下
- 签名:
逻辑 模拟鼠标中键按下() - 说明:模拟中键按下。
模拟鼠标中键放开
- 签名:
逻辑 模拟鼠标中键放开() - 说明:模拟中键放开。
模拟鼠标侧键1单击
- 签名:
逻辑 模拟鼠标侧键1单击() - 说明:模拟鼠标前进侧键(XButton1)单击。
模拟鼠标侧键2单击
- 签名:
逻辑 模拟鼠标侧键2单击() - 说明:模拟鼠标后退侧键(XButton2)单击。
模拟鼠标右键单击
- 签名:
逻辑 模拟鼠标右键单击() - 说明:在当前鼠标位置模拟一次右键单击。
模拟鼠标右键按下
- 签名:
逻辑 模拟鼠标右键按下() - 说明:模拟右键按下。
模拟鼠标右键放开
- 签名:
逻辑 模拟鼠标右键放开() - 说明:模拟右键放开。
模拟鼠标左键单击
- 签名:
逻辑 模拟鼠标左键单击() - 说明:在当前鼠标位置模拟一次左键单击。
模拟鼠标左键双击
- 签名:
逻辑 模拟鼠标左键双击() - 说明:在当前鼠标位置模拟左键双击。
模拟鼠标左键按下
- 签名:
逻辑 模拟鼠标左键按下() - 说明:模拟左键按下(不放开)。
模拟鼠标左键放开
- 签名:
逻辑 模拟鼠标左键放开() - 说明:模拟左键放开。
模拟鼠标水平滚轮
- 签名:
逻辑 模拟鼠标水平滚轮(整数 滚动量) - 说明:模拟水平滚轮。正向右、负向左。
- 参数一│滚动量
模拟鼠标滚轮
- 签名:
逻辑 模拟鼠标滚轮(整数 滚动量) - 说明:模拟滚轮。正上负下;通常 120 为一格。
- 参数一│滚动量
模拟鼠标滚轮到位置
- 签名:
逻辑 模拟鼠标滚轮到位置(整数 X, 整数 Y, 整数 滚动量) - 说明:移动到坐标后模拟滚轮。
- 参数一│X
- 参数二│Y
- 参数三│滚动量
相对移动鼠标
- 签名:
逻辑 相对移动鼠标(整数 水平偏移, 整数 垂直偏移) - 说明:相对当前位置偏移鼠标。成功返回真。
- 参数一│水平偏移: 向右为正
- 参数二│垂直偏移: 向下为正
移动鼠标
- 签名:
逻辑 移动鼠标(整数 X, 整数 Y) - 说明:将鼠标指针移动到屏幕坐标 (X, Y)。成功返回真。
- 参数一│X: 屏幕横坐标
- 参数二│Y: 屏幕纵坐标
解除鼠标区域限制
- 签名:
逻辑 解除鼠标区域限制() - 说明:取消指针裁剪。
释放鼠标
- 签名:
逻辑 释放鼠标() - 说明:释放此前的鼠标俘获(ReleaseCapture)。
限制鼠标区域
- 签名:
逻辑 限制鼠标区域(整数 左边, 整数 顶边, 整数 右边, 整数 底边) - 说明:将指针限制在矩形内。退出前请 解除鼠标区域限制。
- 参数一│左边
- 参数二│顶边
- 参数三│右边
- 参数四│底边
隐藏鼠标光标
- 签名:
逻辑 隐藏鼠标光标() - 说明:隐藏系统鼠标光标。
鼠标中键是否按下
- 签名:
逻辑 鼠标中键是否按下() - 说明:判断物理中键是否按下。
鼠标侧键1是否按下
- 签名:
逻辑 鼠标侧键1是否按下() - 说明:判断侧键1是否按下。
鼠标侧键2是否按下
- 签名:
逻辑 鼠标侧键2是否按下() - 说明:判断侧键2是否按下。
鼠标右键单击位置
- 签名:
逻辑 鼠标右键单击位置(整数 X, 整数 Y) - 说明:移动到屏幕坐标并右键单击。
- 参数一│X
- 参数二│Y
鼠标右键是否按下
- 签名:
逻辑 鼠标右键是否按下() - 说明:判断物理右键是否按下。
鼠标左键单击位置
- 签名:
逻辑 鼠标左键单击位置(整数 X, 整数 Y) - 说明:移动到 (X,Y) 并左键单击。
- 参数一│X
- 参数二│Y
鼠标左键双击位置
- 签名:
逻辑 鼠标左键双击位置(整数 X, 整数 Y) - 说明:移动到屏幕坐标并左键双击。
- 参数一│X
- 参数二│Y
鼠标左键是否按下
- 签名:
逻辑 鼠标左键是否按下() - 说明:判断物理左键是否按下。
鼠标左键长按
- 签名:
逻辑 鼠标左键长按(整数 按住毫秒) - 说明:在当前位置左键按下并保持指定毫秒后放开。
- 参数一│按住毫秒
鼠标拖拽到
- 签名:
逻辑 鼠标拖拽到(整数 X, 整数 Y) - 说明:左键按下后瞬时移动到 (X,Y) 再放开。
- 参数一│X
- 参数二│Y
鼠标是否在矩形内
- 签名:
逻辑 鼠标是否在矩形内(整数 左边, 整数 顶边, 整数 右边, 整数 底边) - 说明:判断指针是否在半开矩形 [左,右)×[顶,底) 内。
- 参数一│左边
- 参数二│顶边
- 参数三│右边
- 参数四│底边
鼠标是否已俘获
- 签名:
逻辑 鼠标是否已俘获() - 说明:判断当前是否存在鼠标俘获。
窗口坐标
本分类共 9 条。
取鼠标窗口垂直位置
- 签名:
整数 取鼠标窗口垂直位置([整数 窗口句柄=0]) - 说明:取得指针相对窗口客户区的 Y。
- 参数一│窗口句柄: 可选,默认 0=前台
取鼠标窗口水平位置
- 签名:
整数 取鼠标窗口水平位置([整数 窗口句柄=0]) - 说明:取得指针相对窗口客户区的 X。句柄省略或 0=前台窗口。
- 参数一│窗口句柄: 可选,默认 0=前台
客户区转屏幕X
- 签名:
整数 客户区转屏幕X(整数 客户区X, 整数 客户区Y, [整数 窗口句柄=0]) - 说明:客户区坐标转屏幕 X。
- 参数一│客户区X
- 参数二│客户区Y
- 参数三│窗口句柄: 可选
客户区转屏幕Y
- 签名:
整数 客户区转屏幕Y(整数 客户区X, 整数 客户区Y, [整数 窗口句柄=0]) - 说明:客户区坐标转屏幕 Y。
- 参数一│客户区X
- 参数二│客户区Y
- 参数三│窗口句柄: 可选
屏幕转客户区X
- 签名:
整数 屏幕转客户区X(整数 屏幕X, 整数 屏幕Y, [整数 窗口句柄=0]) - 说明:屏幕坐标转客户区 X。
- 参数一│屏幕X
- 参数二│屏幕Y
- 参数三│窗口句柄: 可选
屏幕转客户区Y
- 签名:
整数 屏幕转客户区Y(整数 屏幕X, 整数 屏幕Y, [整数 窗口句柄=0]) - 说明:屏幕坐标转客户区 Y。
- 参数一│屏幕X
- 参数二│屏幕Y
- 参数三│窗口句柄: 可选
移动鼠标到窗口中心
- 签名:
逻辑 移动鼠标到窗口中心([整数 窗口句柄=0]) - 说明:将指针移到窗口客户区中心。
- 参数一│窗口句柄: 可选,默认 0=前台
移动鼠标到窗口坐标
- 签名:
逻辑 移动鼠标到窗口坐标(整数 客户区X, 整数 客户区Y, [整数 窗口句柄=0]) - 说明:按窗口客户区坐标移动指针。
- 参数一│客户区X
- 参数二│客户区Y
- 参数三│窗口句柄: 可选,默认 0=前台
鼠标单击窗口坐标
- 签名:
逻辑 鼠标单击窗口坐标(整数 客户区X, 整数 客户区Y, [整数 窗口句柄=0]) - 说明:移动到窗口客户区坐标并左键单击。
- 参数一│客户区X
- 参数二│客户区Y
- 参数三│窗口句柄: 可选
鼠标等待
本分类共 4 条。
等待鼠标按键
- 签名:
逻辑 等待鼠标按键(整数 按键掩码, 逻辑 等待按下, 整数 超时毫秒) - 说明:等到指定按键状态。掩码:1左 2右 4中 8侧1 16侧2。超时≤0 一直等。
- 参数一│按键掩码
- 参数二│等待按下: 真=等到按下,假=等到放开
- 参数三│超时毫秒: ≤0 一直等
等待鼠标离开矩形
- 签名:
逻辑 等待鼠标离开矩形(整数 左边, 整数 顶边, 整数 右边, 整数 底边, 整数 超时毫秒) - 说明:等到指针离开半开矩形。
- 参数一│左边
- 参数二│顶边
- 参数三│右边
- 参数四│底边
- 参数五│超时毫秒
等待鼠标移动
- 签名:
逻辑 等待鼠标移动(整数 超时毫秒) - 说明:等到指针相对调用时位置发生移动。
- 参数一│超时毫秒: ≤0 一直等
等待鼠标进入矩形
- 签名:
逻辑 等待鼠标进入矩形(整数 左边, 整数 顶边, 整数 右边, 整数 底边, 整数 超时毫秒) - 说明:等到指针进入半开矩形。超时≤0 一直等。
- 参数一│左边
- 参数二│顶边
- 参数三│右边
- 参数四│底边
- 参数五│超时毫秒
鼠标系统
本分类共 7 条。
取虚拟屏幕宽度
- 签名:
整数 取虚拟屏幕宽度() - 说明:多显示器虚拟桌面总宽度。
取虚拟屏幕左边
- 签名:
整数 取虚拟屏幕左边() - 说明:多显示器虚拟桌面左边界(可为负)。
取虚拟屏幕顶边
- 签名:
整数 取虚拟屏幕顶边() - 说明:多显示器虚拟桌面顶边界(可为负)。
取虚拟屏幕高度
- 签名:
整数 取虚拟屏幕高度() - 说明:多显示器虚拟桌面总高度。
取鼠标移动速度
- 签名:
整数 取鼠标移动速度() - 说明:取得系统鼠标速度(1~20,默认约 10)。
置鼠标移动速度
- 签名:
逻辑 置鼠标移动速度(整数 速度) - 说明:设置系统鼠标速度(1~20)。影响用户鼠标手感,慎用。
- 参数一│速度: 1~20
鼠标左右键是否交换
- 签名:
逻辑 鼠标左右键是否交换() - 说明:判断系统是否开启了左右键交换。
鼠标轨迹
本分类共 22 条。
保存鼠标轨迹
- 签名:
逻辑 保存鼠标轨迹(文本 文件路径) - 说明:将轨迹保存为文本文件(YPLMPATH1 格式)。
- 参数一│文件路径
停止录制鼠标轨迹
- 签名:
逻辑 停止录制鼠标轨迹() - 说明:停止后台采样。
反转鼠标轨迹
- 签名:
逻辑 反转鼠标轨迹() - 说明:原地反转轨迹点顺序(首点延时清零)。
取鼠标轨迹总时长
- 签名:
整数 取鼠标轨迹总时长() - 说明:各点延时之和(毫秒)。
取鼠标轨迹最大点数
- 签名:
整数 取鼠标轨迹最大点数() - 说明:取得当前最大点数限制。
取鼠标轨迹点X
- 签名:
整数 取鼠标轨迹点X(整数 索引) - 说明:取第 索引 个点的 X(从 0 起)。越界返回 0。
- 参数一│索引
取鼠标轨迹点Y
- 签名:
整数 取鼠标轨迹点Y(整数 索引) - 说明:取第 索引 个点的 Y(从 0 起)。
- 参数一│索引
取鼠标轨迹点延时
- 签名:
整数 取鼠标轨迹点延时(整数 索引) - 说明:取相对上一点的延时毫秒。首点一般为 0。
- 参数一│索引
取鼠标轨迹点按键
- 签名:
整数 取鼠标轨迹点按键(整数 索引) - 说明:取该点按键位标志:1左 2右 4中,可相加。
- 参数一│索引
取鼠标轨迹点数
- 签名:
整数 取鼠标轨迹点数() - 说明:取得当前轨迹点数。
回放鼠标轨迹
- 签名:
逻辑 回放鼠标轨迹(整数 速度百分比) - 说明:按录制时序回放位置,并重放按键变化。100=原速,200=两倍速。
- 参数一│速度百分比: ≤0 按 100
回放鼠标轨迹仅移动
- 签名:
逻辑 回放鼠标轨迹仅移动(整数 速度百分比) - 说明:只回放指针路径,不模拟按键。
- 参数一│速度百分比
平移鼠标轨迹
- 签名:
逻辑 平移鼠标轨迹(整数 水平偏移, 整数 垂直偏移) - 说明:所有轨迹点加上偏移。
- 参数一│水平偏移
- 参数二│垂直偏移
开始录制鼠标轨迹
- 签名:
逻辑 开始录制鼠标轨迹(整数 采样间隔毫秒) - 说明:清空旧轨迹并开始后台采样(位置+按键)。建议间隔 8~20。
- 参数一│采样间隔毫秒: ≤0 时按 10
循环回放鼠标轨迹
- 签名:
逻辑 循环回放鼠标轨迹(整数 速度百分比, 整数 次数) - 说明:带按键回放指定次数。次数≤0 按 1 次。
- 参数一│速度百分比
- 参数二│次数
截取鼠标轨迹
- 签名:
逻辑 截取鼠标轨迹(整数 起始索引, 整数 结束索引) - 说明:保留 [起始, 结束) 区间的点,结束为开区间。
- 参数一│起始索引: 从 0 起
- 参数二│结束索引: 不含该点,可等于点数
添加鼠标轨迹点
- 签名:
逻辑 添加鼠标轨迹点(整数 X, 整数 Y, 整数 延时毫秒, 整数 按键) - 说明:手动追加一个轨迹点。
- 参数一│X
- 参数二│Y
- 参数三│延时毫秒
- 参数四│按键: 1左 2右 4中,无按键填 0
清空鼠标轨迹
- 签名:
无 清空鼠标轨迹() - 说明:停止录制并清空内存中的轨迹点。
缩放鼠标轨迹
- 签名:
逻辑 缩放鼠标轨迹(整数 百分比) - 说明:以首点为原点按百分比缩放后续点。100=不变。
- 参数一│百分比: >0,如 50=缩小一半,200=放大一倍
置鼠标轨迹最大点数
- 签名:
无 置鼠标轨迹最大点数(整数 最大点数) - 说明:限制录制/载入的最大点数(默认 100000,范围 100~2000000)。
- 参数一│最大点数
载入鼠标轨迹
- 签名:
逻辑 载入鼠标轨迹(文本 文件路径) - 说明:从文件载入轨迹(替换内存中当前轨迹)。
- 参数一│文件路径
鼠标轨迹是否正在录制
- 签名:
逻辑 鼠标轨迹是否正在录制() - 说明:判断是否正在录制。
易错对照
| 错误 | 正确 |
|---|---|
| 限制区域后忘记解除 | 成对调用解除限制 |
| 俘获后不释放 | 退出路径务必释放 |
| 与控件鼠标事件混淆 | 本库是全局注入 |