Autohotkey 如何判断任何类型的文本字段是否聚焦?

Autohotkey 如何判断任何类型的文本字段是否聚焦?,autohotkey,Autohotkey,“自动热键”是否有条件告知当前是否有任何文本字段(或Word文档、浏览器搜索栏、任何启用文本输入的内容)处于焦点状态?我想在可能的情况下使用一些热键键入Unicode字符,在不可能的情况下执行其他操作。这是一个获取当前焦点控件名称的简单示例 F1:: ControlGetFocus, OutputVar, A if ErrorLevel MsgBox, The target window doesn't exist or none of its controls has input fo

“自动热键”是否有条件告知当前是否有任何文本字段(或Word文档、浏览器搜索栏、任何启用文本输入的内容)处于焦点状态?我想在可能的情况下使用一些热键键入Unicode字符,在不可能的情况下执行其他操作。

这是一个获取当前焦点控件名称的简单示例

F1::
ControlGetFocus, OutputVar, A
if ErrorLevel
    MsgBox, The target window doesn't exist or none of its controls has input focus.
else
    MsgBox, Control with focus = %OutputVar%

这适用于许多窗口,但总的来说,应用程序使用何种类型的控件来判断是否返回值是很重要的。

没有简单的方法可以看出这一点,这取决于每种情况。您可以使用自动热键附带的AutoIt3 Windows Spy来检查这一点。运行它,然后聚焦文本字段并查看Spy自动输出。如果它没有显示出显著的变化,那么你就会有问题,而且大多数时候不值得尝试。如果这只是您试图在此处更改的软件的一部分,那么可以使用ImageSearch或类似的黑客技术进行更改。例如,一个想法是保留一个屏幕截图,发送一个在文本框外不做任何事情的键,再做一个屏幕截图并进行比较。。。。