我正在编写一个脚本,用于填写Microsoft Edge中的表单。我知道我应该使用WinActivate
改变焦点,但我不知道如何找出论点应该是什么?例如,如果我去Stackoverflow,我可以猜测它会像Stack Overflow - Microsoft Edge
但是如果标题更长,它会在工具栏中被截断,我老实说我不知道在哪里可以看到完整的标题一个过程?我试过任务管理器。
有更好的方法吗?依赖程序的标题似乎有些苛刻,特别是当网站的标题决定它时。
基本上我问,你如何使用WinActive来改变焦点?
Process, Exist, MicrosoftEdge.exe
EdgePID = %ErrorLevel%
if( EdgePID )
{
MsgBox, Edge is running, with PID: %EdgePID%
}
WinGetTitle, Title , ahk_pid %EdgePID%
MsgBox, Title: %Title%
IfWinExist, %Title%
WinActivate ; this doesn't work
答案 0 :(得分:0)
您可以使用应始终相同的进程名称。我假设Microsoft Edge的名称是 MicrosoftEdge.exe ,如果您的进程名称不同,请更改它。
首先获取进程 PID ,它存储在ErrorLevel
中:
Process, Exist, MicrosoftEdge.exe
EdgePID = %ErrorLevel%
if( EdgePID
{
MsgBox, Edge is running, with PID: %EdgePID%
}
然后使用特殊命令ahk_pid
:
WinGetTitle, Title , ahk_pid %EdgePID%
MsgBox, Title: %Title%
可以使用相同的方法激活窗口:
WinActivate, ahk_pid %EdgePID%
或者,可以直接使用进程名称:
WinActivate, ahk_exe MicrosoftEdge.exe