如何通过Autohotkey实现应用快速启动与激活窗口功能

就是目前在用Listary这个工具,可以通过这个工具通过关键字快速启动应用。目前有一个需求,就是如果我这个应用已经启动了,就直接激活应用窗口,如果没有启动的话就直接启动,因为listary本身不支持这个功能,autohotkey能做到,但是没有办法在启动应用前做一个检查。不知道哪位大神知道有什么工具或者使用autohotkey实现呢

这是最糟糕的标题。说了等于没说。

想找这么一个软件 > 想找如何通过Autohotkey实现应用快速启动与激活窗口功能

简答:

  • WinExist 查找窗口。
    • 若窗口存在,WinActivate 激活窗口。
    • 否则,Run 启动应用。
; 快捷键win+w
#w::
If WinExist("ahk_exe {程序exe文件名}"){
    WinActivate ; Use the window found by WinExist.
    WinWaitActive ; 等待窗口激活后再继续
} else {
	run {程序exe的路径}
}
Return

我个人用的是在启动/前台/最小化/之间切换,应该还算方便

; Win+z打开/置于前台/最小化Edge浏览器
#z::
    tooltip, % ToggleActive("ahk_exe msedge.exe", "C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe")
return

ToggleActive(WinTitle, path)
{
    if WinExist(WinTitle)
    {
        if WinActive(WinTitle)
        {
            WinMinimize
        }
        else
        {
            WinActivate
        }
    }
    else
    {
        Run, %path%
        Sleep, 100
        WinActivate
        return %path%
    }
    return
}

如果在多设备之间用,可以把path替换为数组,加一个FileExist(Path)判断