2013-02-20 42 views
1

AHK noob here。我正在使用autohotkey來監視1-4個窗口標題特定更改運行最小化的程序。當在任何程序中檢測到更改時,會彈出警報以提醒用戶該更改,或者該腳本可能會將該程序置於最前面。AHK腳本監視對窗口標題的更改

在窗口標題(使用AutoIt的間諜工具中提取)的變化是從:

Lab - [Workspace ......這之後的標題文字是動態的

要麼:

Lab - [Results。 ..等

或者乾脆

WARNING 

4個方案是相同的,從而他們正在運行出存儲作爲分開的文件夾的如下:

c:\program1\program.exe 
c:\program2\program.exe 
c:\program3\program.exe 
c:\program4\program.exe 

請問PID爲每個節目被檢索,使得腳本可以在4之間和區分帶來正確的到前面?任何來自社區的幫助將不勝感激。

+0

您是否嘗試編寫任何[代碼](http://stackoverflow.com/faq#questions)? – 2013-02-20 19:07:35

回答

0

這是什麼東西,(未測試),讓你開始...

SetTitleMatchMode, 1 ; A window's title must start with the specified WinTitle to be a match. 
Settimer, CheckWindow, 1000 
Return 

CheckWindow: 
Ifwinexists, ahk_class...... check the class first 
{ 
    IfWinExist, Lab - [Results 
     GoSub, MyAlert 
    IfWinExist, WARNING 
     GoSub, MyAlert 
} 
Return 

MyAlert: 
    SoundBeep, 1000, 1000 
Return 

我看你已經擴展了與部分的介紹4個類似的.exe文件你的問題。如果您想基於PID進行區分,您可以使用:

WinGet, active_id, ID, A ; A = active window... 
WinMaximize, ahk_id %active_id% 
MsgBox, The active window's ID is "%active_id%". 

您提出這個問題的事實令人擔憂。一個谷歌搜索AutoHotKey PID引導你到答案。我願意幫忙,但不是你的程序員!

警告:如果您編輯您的原始問題,我們不會發出警報,除非您還寫了一條新評論!

+0

@ user2091246,您能否提供一些反饋意見以瞭解它是如何實現的?如果上述答案確實幫助你,那麼你能否「接受」答案?謝謝! – 2013-02-23 07:21:54

+0

在您的問題中添加了對附加請求的回覆。請提供有關建議解決方案的一些反饋意見,答案很有幫助,然後請點擊白色複選標記以「接受」答案,將其變爲綠色。謝謝! – 2013-02-26 08:34:01

+0

請接受我的道歉,不能早日回覆您。非常感謝你用我的邏輯指引我走向正確的方向 - 我有很多。當結果窗口出現時,腳本儘可能多地在屏幕上顯示警報,但掃描WARNING會導致警報每秒觸發一次。所以看起來我有一個符合該標準的窗口,但WARNING檢查和PID過濾器不是showstoppers,但我很樂意按原樣離開腳本。再次感謝 – user2091246 2013-02-27 12:30:13