Windows 10 使用自动热键更改焦点,发生了什么?
我只想让我的脚本选择正确的窗口来输入按键。为此,我想我使用WinActivate。我在他们的网站上运行了这个示例,但在Windows10中发现了一些奇怪的结果Windows 10 使用自动热键更改焦点,发生了什么?,windows-10,autohotkey,Windows 10,Autohotkey,我只想让我的脚本选择正确的窗口来输入按键。为此,我想我使用WinActivate。我在他们的网站上运行了这个示例,但在Windows10中发现了一些奇怪的结果 IfWinExist, Untitled - Notepad WinActivate ; use the window found above else WinActivate, Calculator; 如果将记事本最小化,它将获得焦点 如果记事本打开但没有焦点,即另一个窗口位于其上方,记事本将获得焦点 如果记事本没有打
IfWinExist, Untitled - Notepad
WinActivate ; use the window found above
else
WinActivate, Calculator;
如果将记事本最小化,它将获得焦点
如果记事本打开但没有焦点,即另一个窗口位于其上方,记事本将获得焦点
如果记事本没有打开,计算器被最小化,出于某种奇怪的原因,它无法获得焦点。
如果记事本未打开且计算器已打开但没有焦点,则它将获得焦点。
是什么导致了不一致 这是因为在该语言上实现了WinActivate函数。WinActivate尝试打开窗口,但可能无法打开。 从 将进行六次尝试,以激活屏幕上的目标窗口 60毫秒的课程。因此,通常不需要遵循WinActivate 使用WinWaitActive或IfWinNotActive 通常,您可以尝试将WinActivateForce指令与WinWaitActive或IfWinNotActive结合使用 有时可以使用参数来匹配窗口。它可能在窗口标题不可用的情况下工作。在这种情况下,您将使用 另外,尝试使用WinRestore还原窗口也很有用 我使用的是Win7,但上面的方法对我有效
下面是一个尝试激活窗口的函数的良好完整实现的示例。分号在AHK中引入注释。它前面必须有一个空格,否则它将被视为字符串别名winactivate计算器的一部分 所以,使用
WinActivate, Calculator ;
或者省略;,因为它没有任何贡献
WinActivate, Calculator ;