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

时间:2015-08-13 03:23:06

标签: autohotkey

想象一下,我的应用程序的窗口类名是classAbc

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

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

如何从托盘中激活它?

WinActivate,  ahk_class classAbc

当时没有工作

我也试过WinShow但没有成功

进入托盘时是否会有不同的类名?

如果是这样的话,我使用宏录制器来查找其位于托盘中的类名

但刚刚发现了2个类,我认为这两个类都与Microsoft windows menubar本身有关:

类和激活码:

WinActivate,  ahk_class Shell_TrayWnd
WinActivate,  ahk_class NotifyIconOverflowWindow

尝试了这些,但我的应用程序一旦进入托盘就不会出现。

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:1)

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

  1. WinShow ahk_class YOUR_APP_WINDOW_CLASS - 要获取主窗口类名称,请使用AHK的内置Window Spy,它可以从AHK脚本的托盘菜单或Windows开始菜单中获得。

    < / LI>
  2. 如果上述方法在后续运行中停止工作,则应用程序在内部存储其最小化状态,您必须使用TrayIcons函数向托盘图标发送鼠标单击消息。< / p>

答案 1 :(得分:0)

由于托盘中的应用程序只是隐藏(通常),您应该先使用 DetectHiddenWindows。然后你使用 WinActivate

它看起来像这样

r'([a-zA-Z][a-zA-Z_+-.]*)@([a-zA-Z.-]*[a-zA-Z])'

附注。我不知道从托盘激活应用程序后您想做什么,但最好先使用 WinWaitActive