2015-10-15 54 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