2013-07-15 92 views
1

要檢查我的本地服務器是否從WAN上看到在線,我在遠程Web站點上有一個PHP腳本,每5分鐘測試一次我的服務器,並將報告返回到本地瀏覽器。如果有什麼不對,一些JavaScript也會改變標題。然後,我的AHK腳本應在10​​秒內識別標題更改,並將瀏覽器窗口置頂。IfWinExist沒有發生

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 
SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 
; 
^F1::Send Dave Kimble 
... 
; 
SetTitleMatchMode 2 
Loop { 
    IfWinExist, Server Error 
    { WinActivate 
    return 
    } 
    Sleep 10000 
    return 
} 

PHP腳本工作正常,但是AHK腳本似乎無法識別標題更改。實際上,在初始加載之後,似乎並沒有計算任何CPU時間。 我在做什麼錯?

回答

1

只要循環達到第二個return,循環就會退出。

您必須在循環後移動^F1::Send Dave Kimble,因爲它會阻止腳本到達循環語句。

+0

我可以理解爲什麼第二個回報應該被忽略 - 我已經嘗試過這樣。但爲什麼^ F1線停止腳本到達循環?我現在已經做了兩個更改,只有一次 - 當窗口被放到前面,並且我再次將其最小化,它應該在10秒後重新出現,但它不會。 – user1490332

+0

if語句中的返回很明顯結束了循環。 – 2013-07-15 15:05:48

+0

這是答案。 – bgmCoder