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

**URL:** <https://meta.appinn.net/t/topic/65536>\
**Category:** 问题求助\
**Created:** [2025 年1 月 20 日 09:51 UTC](https://meta.appinn.net/t/topic/65536 "2025-01-20T09:51:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jacky\_Tang](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/jacky_tang/32/58447_2.png) [@Jacky\_Tang](https://meta.appinn.net/u/Jacky_Tang)\
**Post date:** [2025 年1 月 20 日 09:51 UTC](https://meta.appinn.net/t/topic/65536/1 "2025-01-20T09:51:14Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年1 月 20 日 09:51 UTC](https://meta.appinn.net/t/topic/65536/2 "2025-01-20T09:51:37Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![TecNico](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tecnico/32/78882_2.png) [@TecNico](https://meta.appinn.net/u/TecNico)\
**Post date:** [2025 年1 月 20 日 10:00 UTC](https://meta.appinn.net/t/topic/65536/3 "2025-01-20T10:00:30Z")

</div>

简答：

- `WinExist` 查找窗口。
  - 若窗口存在，`WinActivate` 激活窗口。
  - 否则，`Run` 启动应用。

---

<div class="post-metadata">

**Author:** ![sav3uluan](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@sav3uluan](https://meta.appinn.net/u/sav3uluan)\
**Post date:** [2025 年1 月 20 日 16:39 UTC](https://meta.appinn.net/t/topic/65536/4 "2025-01-20T16:39:58Z")

</div>

```autohotkey
; 快捷键win+w
#w::
If WinExist("ahk_exe {程序exe文件名}"){
    WinActivate ; Use the window found by WinExist.
    WinWaitActive ; 等待窗口激活后再继续
} else {
	run {程序exe的路径}
}
Return

```

---

<div class="post-metadata">

**Author:** ![Azona77](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/azona77/32/63797_2.png) [@Azona77](https://meta.appinn.net/u/Azona77)\
**Post date:** [2025 年1 月 21 日 02:00 UTC](https://meta.appinn.net/t/topic/65536/5 "2025-01-21T02:00:37Z")

</div>

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

```AutoHotKey
; 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)判断
