我想创建一个AutoHotKey脚本,将命令发送到某个CMD窗口,但是我在选择所需窗口时遇到问题,因为我运行的是至少3-4个CMD窗口并且它们的标题都以“C”开头:\ Window \ System32 \ cmd.exe“所以我最多只是逐个循环通过窗口。
如何从具有相同名称的CMD窗口列表中选择我想要的特定窗口?
大部分情况都是我使用的CMD,我想要定位具有最通用名称的第一个(左上角)。
答案 0 :(得分:2)
您可以尝试从AHK启动它并从那里自动检索ID ...
你也可以尝试构建一个“教”哪个CMD使用的函数......这需要在它出现后点击它们一次CMD窗口...基本上你的AHK脚本然后必须读取这个的UID窗口。
温格特
检索指定窗口的唯一ID,进程ID,进程名称或其控件列表。它还可以检索符合指定条件的所有窗口的列表。
WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
例如:WinGet, OutputVar , ID , A
将检索活动窗口的ahk_id
但如果没有进一步的细节,很难说出你真正需要的是什么。
答案 1 :(得分:0)
我认为您无法使用AutoHotkey区分不同的cmd.exe窗口。
但您可以使用其他命令行软件,以便使用AutoHotkey区分不同的命令行会话。例如,here和here是其他一些命令行软件。使用google可以轻松找到其他软件。查看截图,其中大多数都有不同命令行会话的选项卡。您可以使用AutoHotkey GUI自动化命令在不同选项卡之间切换。
答案 2 :(得分:0)
初始化窗口时,您可以使用title命令。
Run, %comspec% /k cd c:\ && title MyWindow 1 && tasklist
winwait,MyWindow 1
WinMove,MyWindow 1,,20,20
Run, %comspec% /k cd c:\ && title MyWindow 2
winwait,MyWindow 2
WinMove,MyWindow 2,,20,365
ControlSend,,taskkill /pid ` ,MyWindow 2