- 版本 v1.1.15.01
- 指南和概述
- 常见问题(FAQ)
- 按字母排序的命令和函数索引
- AutoHotkey 脚本展示
- 变更和新功能
- 基本用法和语法
- 迁移到 AutoHotkey 1.1(AutoHotkey_L)
- 环境管理
- 本机代码互操作
- 文件、目录和磁盘管理
- Drive
- DriveGet
- DriveSpaceFree
- FileAppend
- FileCopy
- FileCopyDir
- FileCreateDir
- FileCreateShortcut
- FileDelete
- FileEncoding [AHK_L 42+]
- FileGetAttrib
- FileGetShortcut
- FileGetSize
- FileGetTime
- FileGetVersion
- FileInstall
- FileMove
- FileMoveDir
- FileOpen [AHK_L 42+]
- FileReadLine
- FileRead
- FileRecycle
- FileRecycleEmpty
- FileRemoveDir
- FileSelectFile
- FileSelectFolder
- FileSetAttrib
- FileSetTime
- IfExist / IfNotExist
- IniDelete
- IniRead
- IniWrite
- Loop(文件和文件夹)
- Loop(读取文件内容)
- SetWorkingDir
- SplitPath
- 流程控制
- 内置函数
- GUI、MsgBox、InputBox 及其他对话框
- 鼠标和键盘
- 鼠标和键盘
- #InstallKeybdHook
- #InstallMouseHook
- #KeyHistory
- BlockInput
- Click [v1.0.43+]
- ControlClick
- ControlSend / ControlSendRaw
- CoordMode
- GetKeyState
- KeyHistory
- KeyWait
- Input
- MouseClick
- MouseClickDrag
- MouseGetPos
- MouseMove
- Send / SendRaw / SendInput / SendPlay / SendEvent: 发送按键和点击
- SendLevel [v1.1.06+]
- SendMode [v1.0.43+]
- SetDefaultMouseSpeed
- SetKeyDelay
- SetMouseDelay
- SetCapsLockState/SetNumLockState/SetScrollLockState
- SetStoreCapslockMode
- 数学相关
- 屏幕管理
- 杂项命令
- 进程管理
- 注册表管理
- 声音命令
- 字符串管理
- 窗口管理
- 控件
- 窗口组
- #WinActivateForce
- DetectHiddenText
- DetectHiddenWindows
- SetTitleMatchMode
- SetWinDelay
- StatusBarGetText
- StatusBarWait
- WinActivate
- WinActivateBottom
- WinClose
- WinGet
- WinGetActiveStats
- WinGetActiveTitle
- WinGetClass
- WinGetPos
- WinGetText
- WinGetTitle
- WinHide
- WinKill
- WinMaximize
- WinMinimize
- WinMinimizeAll / WinMinimizeAllUndo
- WinMove
- WinRestore
- WinSet
- WinSetTitle
- WinShow
- WinWait
- WinWaitActive / WinWaitNotActive
- WinWaitClose
- #指令
MouseMove
移动鼠标光标。
MouseMove, X, Y [, Speed, R]
参数
- X, Y
鼠标移动的目标位置的 x/y 坐标, 可以为 表达式. 坐标相对于活动窗口, 除非曾使用 CoordMode 改变了这个设置.
- Speed
移动鼠标的速度,介于 0(最快)和 100(最慢)之间,可以为表达式。注:速度为 0 表示瞬时移动鼠标到目标位置。如果省略,则使用默认速度(通过 SetDefaultMouseSpeed 设置,若为设置则使用 2)。
在 SendInput/Play 模式 中会忽略 Speed; 它们会瞬时移动鼠标到目标位置 (不过 SetMouseDelay 有适用于 SendPlay 的模式). 要显示鼠标移动轨迹(例如使用脚本向观众进行演示时),请使用
SendEvent {Click 100, 200}
或SendMode Event
(可以和 BlockInput 联合使用)。- R
如果此参数为字母 R, 则会把 X 和 Y 坐标视为距离当前鼠标位置的偏移. 换句话说, 会把光标从当前位置往右移动 X 像素 (负值则往左) 且往下移动 Y 像素 (负值则往上).
备注
此命令的发送模式由 SendMode 设置.
SendPlay 模式 生成的鼠标事件可以比其他模式适应更大范围的游戏. 此外, 某些应用程序和游戏在鼠标移动过快时可能会跟踪困难. 可以使用 SetDefaultMouseSpeed 的 speed 参数来降低鼠标的速度 (仅对默认的 SendEvent 模式 有效).
可以使用 BlockInput 命令防止用户对鼠标的任何物理操作扰乱由鼠标命令生成的模拟鼠标事件. 不过, 在 SendInput/Play 模式中通常不需要这个命令, 因为它们会自动延迟用户对鼠标的物理操作到发送之后.
在每次鼠标移动后会有一个自动的延时 (不包括 SendInput 模式). 使用 SetMouseDelay 可以改变延时的长度.
下面是另一种移动鼠标的方法, 它在某些多显示器环境中可能工作得更好:
DllCall("SetCursorPos", int, 100, int, 400) ; 第一个数字是 X 坐标而第二个是 Y (相对于屏幕).
相关提示, 鼠标光标可以通过 隐藏光标示例 临时隐藏起来.
相关
CoordMode, SendMode, SetDefaultMouseSpeed, SetMouseDelay, Click, MouseClick, MouseClickDrag, MouseGetPos, BlockInput
示例
; 移动鼠标到新位置: MouseMove, 200, 100 ; 缓慢移动鼠标 (速度 50 比较起默认的 2 显然要缓慢) 到 ; 距离当前位置右边 20 个像素且在下面 30 个像素的位置: MouseMove, 20, 30, 50, R
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论