我的脚本应该按下窗口左上角的按钮。它没有按预期工作。我试过这个:
ControlClick ClassNN ThunderRT6UserControlDC29, ahk_class ThunderRT6FormDC
然而它不起作用。 我尝试了手动选项:
Controlclick x160 y60, ....
但这不起作用。
最终我只使用了一次:
Click 160, 60
这确实有用。
我想知道它为什么会这样?此外,有没有办法只按下按钮,而鼠标实际上没有完全按下那里。我看起来很蠢,很慢。 我提出这个问题的主要原因是因为它与我提出的另一个问题密切相关: How to obtain textual contents from a window 共同点是任何具有classNN和ahk_class的东西似乎都有问题。
答案 0 :(得分:2)
尝试以管理员身份运行脚本(如果您使用的是Windows 7或Vista)
答案 1 :(得分:1)
在更彻底地浏览文档之后,我终于找到了自己的解决方案:
https://autohotkey.com/docs/commands/ControlClick.htm#Reliability
您可以将NA指定为第六个参数,以等待鼠标按钮抬起。
我发现,在Control, Check, ,Button1
之前触发ControlClick
时,单击不起作用,但是在末尾添加了NA
,以某种方式神奇地修复了它。我猜想点击是模拟的,但尚未提升。
答案 2 :(得分:0)
首先,make sure you have the capitalization correct。 controlclick
是大小写和空间敏感的 - 名称中的所有内容都必须正确。
其次,对于鼠标移动问题 - 首先保存鼠标的位置,然后保存controlclick
,然后将鼠标放回到找到它的位置。在单击或超时期间,鼠标只会不合适。 160毫秒不明显。
您也可以尝试使用ahk激活窗口,将其置于前面,然后查看是否可以通过控件选项卡到所需的控件,然后通过发送 space 或返回到最前面的窗口(已激活)。这样可以避免完全使用controlclick
。有些窗户可能很棘手。
答案 3 :(得分:0)
Controlclick x160 y60,A,,Left,1, NA
像这样的手动选项应该起作用,至少在我看来它是起作用的。
Left = your mouse button pressed
1 = number of clicks
A = Active Window
用于从游戏中检索内容或从其他自动热键部件中为ControlClicks或SendMessage / PostMessage检索变量的选项似乎还不起作用。