1

AHK菜鸟在这里。我正在寻找监视 1-4 个程序,这些程序使用自动热键对窗口标题进行特定更改而最小化运行。当在任何程序中检测到更改时,会弹出警报以提醒用户发生更改,或者脚本可以将程序置于最前面。

窗口标题的变化(使用 AutoIt Spy 工具提取)来自:

Lab - [Workspace...在这一点之后,标题文本是动态的

到:

Lab - [Results...ETC

或者干脆

WARNING

这 4 个程序是相同的,因为它们用完了存储如下的单独文件夹:

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

是否可以为每个程序检索 PID,以便脚本可以区分这 4 个并将正确的一个放在前面?社区的任何帮助将不胜感激。

4

1 回答 1

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%".

你问这个问题的事实令人担忧。一次 Google 搜索AutoHotKey PID会引导您找到答案。我愿意帮助,但不是你的程序员!

警告:如果您编辑原始问题,除非您还写了新评论,否则我们不会收到警报!

于 2013-02-21T06:29:22.747 回答