2015-10-15 53 views
2

我正在使用以下工作正常的代码;如果它位于其他窗口的后面,它将交换到前端,如果它关闭,它将打开。但是,如果它已经最小化,它不会交换到前面。如果将Eclipse窗口最小化,则它不会激活

!j:: 
    if WinExist("ahk_exe eclipse.exe") 
    { 
     WinActivate 
    } 
    else 
    { 
     Run, "C:\Program Files (x86)\Eclipse\eclipse.exe" 
    } 
    return 

我有相同的代码为其他程序工作正常,如果窗口已被最小化。为什么它不能用于eclipse,我该如何让它工作?

+0

的窗口可能不是*最小*而是隐藏。尝试[DetectHiddenWindows,On](http://ahkscript.org/docs/commands/DetectHiddenWindows.htm)。否则,这将变得棘手,您需要通过向其托盘图标发送点击事件来恢复它(有一个用户功能)。 – wOxxOm

回答

2

发现这个工作方法:

!j:: 
    WinGetTitle, Title, ahk_class SWT_Window0 
    if InStr(Title, "Eclipse") { 
     WinActivate, ahk_class SWT_Window0 
    } 
    else 
    { 
     Run, "C:\Program Files (x86)\Eclipse\eclipse.exe" 
    } 
    return