一、[求教]AutoHotKey 不激活视窗,鼠标后台点击的语法

试试这个

ControlClick

autohotkey(autohotkey功能)

发送鼠标按钮或鼠标滚轮事件到控件。

ControlClick [, Control-or-Pos, WinTitle, WinText, WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]

参数

Control-or-Pos

如果此参数为空,则点击目标窗口的顶层控件(或如果窗口没有控件则点击窗口自身).否则,使用下列两种模式的其中一个.

autohotkey(autohotkey功能)

模式 1(位置):指定相对于目标窗口左上角的 X和 Y坐标. X坐标必须在 Y坐标前面,且它们之间需要含有至少一个空格或 tab.例如:X55 Y33。如果在指定的坐标存在控件,则会发送点击事件到这个坐标处.如果没有控件,则发送事件到目标窗口自身(根据窗口的性质,这可能不会产生效果).注意:在此模式中,会忽略 Options参数中的 X和 Y字母选项。

模式 2(ClassNN或文本):可以指定 ClassNN(控件的类名和实例编号)或控件的名称/文本,它们都可以通过 Window Spy获取.使用名称/文本时,匹配行为由 SetTitleMatchMode决定.

默认情况下,模式 2优先于模式 1.例如,在一种不太可能的情况中某个控件的文本或 ClassNN格式为"Xnnn Ynnn",那么此时会使用模式 2.要覆盖此行为而无条件使用模式 1,请在 Options中加上单词 Pos,例如:ControlClick, x255 y152, WinTitle,,,, Pos

要操作控件的 HWND(窗口句柄),请将此参数留空同时在 WinTitle参数中指定 ahk_id%ControlHwnd%(即使在 DetectHiddenWindows设置关闭时,这样也可以操作隐藏控件)。获取控件的 HWND的一般方法是使用 ControlGet Hwnd, MouseGetPos或 DllCall.

WinTitle

窗口标题或识别目标窗口的其他条件。请参阅 WinTitle。

WinText

如果使用此参数,那么它必须是目标窗口中单个文本元素的子字符串(和内置的 Window Spy工具显示的一样).当 DetectHiddenText的设置为 ON时,那么会检测到隐藏文本元素.

WhichButton

要点击的按钮: LEFT, RIGHT, MIDDLE(或这些单词的首个字母).如果省略或为空,则使用 LEFT按钮.

还支持 X1(XButton1:第四个鼠标按钮)和 X2(XButton2:第五个鼠标按钮)。

还支持 WheelUp(或 WU)和 WheelDown(或 WD)。此时 ClickCount为需要转动的滚轮格数.

Windows Vista或更高版本 [v1.0.48+]:还支持 WheelLeft(或 WL)和 WheelRight(或 WR)(它们在较旧的操作系统中没有效果).此时 ClickCount为需要转动的滚轮格数.

ClickCount

要点击鼠标的次数,可以为表达式.如果省略或为空,则点击 1次.

选项

零个或多个下列选项字母组成的系列.例如:d x50 y25。

NA [v1.0.45+]:也许可以提高可靠性.请参阅后面的可靠性.

D:按住鼠标按钮不放(即生成按下事件).如果 D和 U选项都没有包含,则会发送完整的点击事件(按下事件和弹起事件).

U:释放鼠标按钮(即生成弹起事件).此选项不能和 D选项同时使用.

Pos:在 Options的任意位置指定单词 Pos,这样会无条件使用在上面 Control-or-Pos参数中描述的 X/Y位置模式.

Xn:指定 n为要点击的相对于控件左上角的 X坐标.如果未指定,则在控件的水平中心点击.

Yn:指定 n为要点击的相对于控件左上角的 Y坐标。如果未指定,则在控件的垂直中心点击.

在 X和 Y选项中使用十进制数而不是十六进制数.

ExcludeTitle

标题中含有此参数值的窗口将被排除.

ExcludeText

文本中含有此参数值的窗口将被排除.

ErrorLevel

[v1.1.04+]此命令失败时会抛出异常.想了解更多信息,请参阅运行时错误.

如果遇到问题则 ErrorLevel被置为 1,否则为 0.

可靠性

要提高可靠性,尤其是在 ControlClick期间用户同时在使用鼠标,请尝试下面的一种或两种方法也许会有所帮助:

1)请在 ControlClick前面加上 SetControlDelay-1。这样可以避免在点击时按住鼠标,减少对用户使用鼠标的干扰.

2)在第六个参数(Options)中指定字符串 NA,如下所示:

SetControlDelay-1

ControlClick, Toolbar321, WinTitle,,,, NA

NA可以避免激活目标窗口,同时避免混淆它和脚本的输入,这样可以防止鼠标实际移动产生的冲突(但通常只在目标窗口不活动时)。然而,此方法不是对所有的窗口和控件都有效.

备注

在滚动鼠标滚轮时,有些程序不会接受大于 1的 ClickCount.对于这些程序,请使用循环来转动多个格数,例如这个例子转动 5格:

Loop, 5

ControlClick, Control, WinTitle, WinText, WheelUp

窗口标题和文本是区分大小写的.只有在打开 DetectHiddenWindows设置时,才能检测到隐藏窗口。

示例

ControlClick, OK, Some Window Title;点击 OK按钮

ControlClick, x55 y77, WinTitle;在坐标上进行点击.注意 X和 Y之间的空隙.

;下面的方法可以提高可靠性并减少副作用:

SetControlDelay-1

ControlClick, Toolbar321, WinTitle,,,, NA x192 y10;使用 NA模式在相对于命名控件的坐标处进行点击.

二、AutoHotKey介绍

AutoHotKey,一款小巧高效的Windows平台热键脚本语言程序,能够通过自定义脚本实现重复性强、技术含量低的自动化操作,仅需3M大小。访问官网(autohotkey.com/)了解详情。

创建脚本简易:官网下载安装AutoHotKey,参考官方指南。利用快捷键与热字符串实现高效操作。

快捷键触发特定动作,如Ctrl+C、Ctrl+V的复制粘贴。常用快捷键如#c代表win键+c。热字符串扩展缩写,输入简写后自动替换,或启动脚本动作。使用::连接操作,热字符串需用两个::包围。

常用命令包括Run,用于启动程序、文档、URL或快捷方式。示例:win+c打开google.com;输入zy后空格输出zhangyi2099。更多高级操作参阅官方文档。

版本选择:避免使用已停止开发与维护的AutoHotkey 1.0.*及AutoHotkey_H。建议使用AutoHotkey 1.1.*,因为这个版本仍在维护,支持添加新功能与修复错误。对于不依赖旧代码库且愿意同步代码改动的用户,推荐使用AutoHotkey v2,可享受更一致的语法与更多新功能。

自写脚本:举例,为简化PS取色操作,创建鼠标悬浮取色快捷键;编写发货信息自动填充脚本,节省时间。通过脚本自动化,简化日常操作。

三、autohotkey功能

AutoHotkey是一款强大的自动化工具,它能通过发送键盘或鼠标操作命令,实现各种操作的自动化。你可以自己编写宏,或者利用宏录制器生成自动化脚本,轻松处理重复任务。它支持设置各种热键,无论是键盘、游戏控制器还是鼠标,都可以定制,如定义Win键和Capslock键作为自定义快捷键。高级热键部分提供了更多定制选项,让你的设备潜能尽显。

除此之外,AutoHotkey还有其他实用功能:调节音量、设置静音,管理声卡;改变窗口透明度或位置;使用游戏控制器替代鼠标操作;监控系统行为,自动处理不需要的窗口;操作剪贴板,包括文件名的复制;甚至可以接管Windows的默认快捷键;减轻RSI症状,通过替代Alt-Tab;自定义托盘图标菜单,增强用户体验;显示对话框、工具提示和菜单,实现与用户的互动;执行脚本响应系统状态改变,如关闭或注销;利用系统空闲时间执行高负荷任务;以及在游戏中的自动操作,如基于图像或像素色彩的反应。

对于文本文件,AutoHotkey的读写和解析能力优于许多其他编程语言。它还能根据通配符匹配一组文件进行操作,并支持对注册表和INI文件的管理。尽管在Windows 95/98/Me这些较旧系统上,一些高级功能(如鼠标热键和热字串)可能无法正常使用,但只要有创新思维,AutoHotkey仍能发挥其强大的功能。

扩展资料

是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键,理论上来说属于外挂。