如果 IE 11 未激活,我想激活它
这是遗留测试的一部分,所以它绝对必须是 IE,而不是 Edge 或任何其他浏览器。我想将 IE 窗口置于前台,以便在其上运行 F5。这是我正在使用的代码:
IfWinExist, ahk_exe iexplore.exe
{
If WinActive ahk_exe iexplore.exe
{
msgbox, ie already active
}
Else
{
WinActivate, ahk_exe iexplore.exe
msgbox, ie should now be active
}
}
我有 IE 运行,但最小化或在其他窗口下。运行上面的脚本会产生一个 msgbox ie should now be active
,但 IE 肯定是不活动的。
疯狂的部分是,如果我在运行脚本后按 Ctrl+T(新选项卡),那么 ie 会出现在最前面并打开一个新选项卡!但是如果我添加Send, ^T
到脚本中,什么都不会发生。
我尝试过的事情
这是我在 Google 上找到的帖子列表,但它们不起作用:
- https://autohotkey.com/board/topic/115943-ie-com-create-or-active/
- https://www.autohotkey.com/boards/viewtopic.php?t=30789
- https://www.autohotkey.com/docs/FAQ.htm
我尝试过的其他事情:
- WinMaximize - 导致我的电脑死机约 3 分钟
- WinActivate、iFrame - 与 ahk_exe 相同
- WinActivate, ahk_class iFrame - 与 ahk_exe 相同
- WinActivate, "ahk_class iFrame" - 与 ahk_exe 相同
- DetectHiddenWindows/WinShow- 与 ahk_exe 相同
- ComObjActive("InternetExplorer.Application") - 操作不可用错误
似乎 IE 不会像其他应用程序一样出现在前台。我认为这是因为 IE 以某种方式注册到 Windows,但有解决方法吗?
Internet Explorer 启动多个进程,它们都是
iexplore.exe
,只是参数不同。您的代码只是选择了错误的代码。这会更好,使用窗口标题将其向前推进: