如何找到 WinActivate 参数的名称
How to find name for argument of WinActivate
我正在编写将在 Microsoft Edge 中填写表单的脚本。我知道我应该使用 WinActivate
来改变焦点,但我不知道如何找出参数应该是什么?例如,如果我去 Whosebug,我可以猜测它会像 Stack Overflow - Microsoft Edge
但如果标题较长,它会在工具栏中被截断,老实说,我不知道在哪里可以看到完整的标题一个过程?我试过任务管理器。
有没有更好的方法?依赖程序的标题似乎有点 hacky,尤其是当网站的标题决定它时。
基本上我在问,你如何使用 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
您可以使用应始终相同的进程名称。我假设 Microsoft Edge 的名称是 MicrosoftEdge.exe,如果您的进程名称不同,请更改它。
首先获取进程PID,存储在ErrorLevel
:
Process, Exist, MicrosoftEdge.exe
EdgePID = %ErrorLevel%
if( EdgePID
{
MsgBox, Edge is running, with PID: %EdgePID%
}
然后获取该进程的window标题,使用特殊命令ahk_pid
:
WinGetTitle, Title , ahk_pid %EdgePID%
MsgBox, Title: %Title%
window可以用同样的方法激活:
WinActivate, ahk_pid %EdgePID%
或者直接使用进程名称:
WinActivate, ahk_exe MicrosoftEdge.exe
我正在编写将在 Microsoft Edge 中填写表单的脚本。我知道我应该使用 WinActivate
来改变焦点,但我不知道如何找出参数应该是什么?例如,如果我去 Whosebug,我可以猜测它会像 Stack Overflow - Microsoft Edge
但如果标题较长,它会在工具栏中被截断,老实说,我不知道在哪里可以看到完整的标题一个过程?我试过任务管理器。
有没有更好的方法?依赖程序的标题似乎有点 hacky,尤其是当网站的标题决定它时。
基本上我在问,你如何使用 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
您可以使用应始终相同的进程名称。我假设 Microsoft Edge 的名称是 MicrosoftEdge.exe,如果您的进程名称不同,请更改它。
首先获取进程PID,存储在ErrorLevel
:
Process, Exist, MicrosoftEdge.exe
EdgePID = %ErrorLevel%
if( EdgePID
{
MsgBox, Edge is running, with PID: %EdgePID%
}
然后获取该进程的window标题,使用特殊命令ahk_pid
:
WinGetTitle, Title , ahk_pid %EdgePID%
MsgBox, Title: %Title%
window可以用同样的方法激活:
WinActivate, ahk_pid %EdgePID%
或者直接使用进程名称:
WinActivate, ahk_exe MicrosoftEdge.exe