从托盘激活我的应用程序 - AHK

Activate my app from the tray - AHK

假设我的应用程序的 window class 名称是 classAbc

我的应用程序托盘功能已最小化,

按下自定义键时,它会进入托盘,

如何从托盘激活它?

WinActivate,  ahk_class classAbc

那个时候不行

我也试过WinShow没有成功

它进入托盘时会有不同的 class 名称吗?

如果是这样,我使用宏记录器找到它的 class 名称,当它驻留在托盘中时

但刚找到 2 个 class,我认为它们都与 Microsoft windows 菜单栏本身有关:

classes 和激活码:

WinActivate,  ahk_class Shell_TrayWnd
WinActivate,  ahk_class NotifyIconOverflowWindow

也尝试了这些,但我的应用程序在进入托盘后没有出现。

在此先感谢您的帮助

根据您的应用程序管理其最小化到托盘的方式,有两种方法:

  1. WinShow ahk_class YOUR_APP_WINDOW_CLASS - 获取主 window class 名称使用 AHK 的内置 Window 可从 AHK 的托盘菜单中获取间谍脚本或 Windows 开始菜单。

  2. 如果上述方法在后续运行中停止工作,则应用程序会在内部存储其最小化状态,您将不得不使用 TrayIcons 函数向托盘图标发送鼠标点击消息.

由于托盘中的应用程序只是隐藏(通常),您应该使用 DetectHiddenWindows first. Then you use WinActivate

所以它看起来像这样

#NoEn           ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

DetectHiddenWindows, On
WinActivate, ahk_class classAbc

PS。我不知道你从托盘激活应用程序后想做什么,但在其他任何事情之前使用 WinWaitActive 可能是个好主意