通过进程名称在窗口上WinActivate?

gro*_*190 1 autohotkey

简而言之,我想要 Ctrl+Alt+T 激活 Windows 终端窗口。以前我用过这个:

^!T::
    if WinExist("Windows PowerShell")
        WinActivate
    else
        Run, wt
Return
Run Code Online (Sandbox Code Playgroud)

但这已经不再有效,因为当我使用 Posh Git 时,Windows 终端会更改其标题。

因此,我需要在进程名称为“WindowsTerminal.exe”的任何窗口上激活该窗口。

我已经尝试过,但由于某种原因它无法识别正确的窗口:

^!T::
    if WinExist(ahk_exe "WindowsTerminal.exe")
        WinActivate
    else
        Run, wt
Return
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Spy*_*yre 7

使用进程/exe 的名称调用WinExist的语法不正确

代替:

if WinExist(ahk_exe "WindowsTerminal.exe")
Run Code Online (Sandbox Code Playgroud)

您还需要将ahk_exe其部分包含在引号内。

像这样:

if WinExist("ahk_exe WindowsTerminal.exe")
Run Code Online (Sandbox Code Playgroud)

最终代码:

^!T::
    if WinExist("ahk_exe WindowsTerminal.exe")
        WinActivate
    else
        Run, wt
Return
Run Code Online (Sandbox Code Playgroud)

  • 完美的答案。我不知道 https://www.autohotkey.com/docs/misc/WinTitle.htm#LastFoundWindow (2认同)