我想做一个AutoHotKey脚本,将发送命令到某个命令行窗口,但我有问题选择所需的窗口,因为我正在运行至少3-4个命令行窗口和它们的标题都以"C:\Window\System32\cmd.exe“开头,所以最多我只是循环通过窗口一个接一个。
如何从同名的CMD窗口列表中选择我想要的特定窗口?
大多数情况下,这些都是我使用的CMD,我想针对第一个(左上角),它具有最通用的名称。
发布于 2014-12-03 04:31:16
你可以尝试从AHK启动它,并从那里自动检索ID ...
你也可以尝试构建一个函数来“教导”使用哪个CMD……这将需要在它们的CMD窗口出现后点击一次...基本上,您的AHK脚本必须读取此窗口的UID。
WinGet
检索指定窗口的唯一ID、进程ID、进程名称或其控件列表。它还可以检索与指定条件匹配的所有窗口的列表。
WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
例如:WinGet, OutputVar , ID , A
将检索活动窗口的ahk_id
但如果没有进一步的细节,就很难说出你真正需要什么。
发布于 2014-12-03 00:50:14
我不认为你可以用AutoHotkey来区分不同的cmd.exe窗口。
但是您可以使用其他命令行软件来区分不同的命令行会话与AutoHotkey。例如,here和here是一些其他的命令行软件。其他软件可以很容易地在google中找到。看看这些截图,它们中的大多数都有用于不同命令行会话的选项卡。您可以使用AutoHotkey图形用户界面自动化命令在不同的选项卡之间切换。
发布于 2014-12-03 09:06:15
初始化窗口时,可以使用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
https://stackoverflow.com/questions/27252005
复制相似问题