如何在AutoHotKey V2中获取鼠标位置并复制到剪贴板
AutoHotkey v2 鼠标位置获取+剪贴板复制+提示框实现
原代码存在的问题
MouseGetPos (&MouseX, &MouseY)写法错误:AHK v2中调用MouseGetPos无需用&取指针,直接传入变量名即可自动存入坐标值。pos:= &MouseX , &MouseY逻辑错误:&是获取变量内存地址(不是实际坐标值),且逗号无法实现字符串拼接,需用直接拼接的方式组合X/Y坐标。Send "^c"属于冗余操作:已经通过A_Clipboard := pos将位置写入剪贴板,无需再模拟复制快捷键。
修正后的完整代码
F4:: { ; 获取当前鼠标坐标,直接存入变量 MouseGetPos MouseX, MouseY ; 拼接成"X, Y"格式的字符串 pos := MouseX ", " MouseY ; 显示临时提示框,2秒后自动消失 Tooltip("鼠标位置:" pos) SetTimer () => Tooltip(), -2000 ; -2000代表2000毫秒后执行一次并关闭定时器 ; 写入剪贴板并确认操作 A_Clipboard := "" A_Clipboard := pos if !ClipWait(2) { MsgBox "剪贴板写入失败" return } MsgBox "已复制鼠标位置:`n" pos }
关键功能说明
Tooltip():临时提示框,默认显示在鼠标指针附近,传入文本即可展示坐标信息。SetTimer:实现提示框自动隐藏,-2000表示2秒后执行一次匿名函数,调用不带参数的Tooltip()会隐藏所有提示框。ClipWait(2):最多等待2秒确认剪贴板写入成功,避免因系统延迟导致的复制失败。
内容的提问来源于stack exchange,提问作者macroman
相关产品推荐
相关产品推荐

