以下主要涉及窗口操作和鼠标控制,包括获取窗口的位置、计算窗口的相对坐标以及将鼠标移动到窗口的中心。
让你进一步了解ahk的全屏坐标系和相对窗口坐标系之间的关系
#SingleInstance Force CoordMode Mouse ; ControlClick, x217 y135, ahk_class AHKEditor ; ControlClick的转换写法 WinGetPos, dx, dy, , , ahk_class AHKEditor MouseClick, , dx+217, dy+135, , 0 Return FindText().Click(X, Y, "L") WinGetPos, dx, dy, , , ahk_class 后台点击鼠标 ControlClick, % "x" X-dx " y" Y-dy, ahk_class 后台点击鼠标 F1:: MouseGetPos, x, y WinGetPos, dx, dy, dw, dh, A ; 屏幕转窗口: 相对坐标X := x-dx, 相对坐标Y := y-dy MsgBox % "鼠标在窗口相对坐标为:" 相对坐标X "," 相对坐标Y "`n`n窗口在屏幕的坐标为:" dx "," dy "`n窗口 宽 x 高:" dw "x" dh ; 注意:x和y坐标复用才得到正确坐标 ; 窗口转屏幕: ; x := x+dx, y := y+dy ; MsgBox % "窗口转屏幕:" x "|" y Return ; F3移动鼠标到窗口中央 F3:: WinGetPos, dx, dy, dw, dh, A 窗口中央X := dx+dw/2, 窗口中央Y := dy+dh/2 MouseMove, 窗口中央X, 窗口中央Y, 0 Return ; 英文论坛的无效参考 ; https://www.autohotkey.com/boards/viewtopic.php?f=6&t=38472
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)