2013-02-20 44 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