如何使用Internet Explorer 9使用AutoHotkey获取IE对象

时间:2019-01-14 10:07:33

标签: windows internet-explorer-9 autohotkey

我能够使用以下代码在活动选项卡中激活IE8对象:

IEGet(Name="") {
   IfEqual, Name,, WinGetTitle, Name, ahk_class IEFrame     ;// Get active window if no parameter
   Name := (Name="New Tab - Windows Internet Explorer")? "about:Tabs":RegExReplace(Name, " - (Windows|Microsoft)? ?Internet Explorer$")
   for wb in ComObjCreate("Shell.Application").Windows()
      if wb.LocationName=Name and InStr(wb.FullName, "iexplore.exe")
         return wb
}

但是我无法在Internet Explorer 9上执行相同的操作...您知道如何解决此问题吗?

1 个答案:

答案 0 :(得分:1)

我无法像IE11一样使用IE9,但是我可以告诉您,在IE11中,新标签页标题为“新标签页-Internet Explorer”。注意小写的“ t”和缺少“ Windows”。但是,如果您在新的空白页上,这只会给您带来问题。

您确定问题出在此代码段上吗?我怀疑这可能与在此之外如何使用对象有关。查看更多代码可能会有所帮助。

除了检测到新标签之外,它对我来说都适用于IE11。这是我用于测试的代码:

f1::
WinGetTitle, Name, ahk_class IEFrame
Name := (Name="New tab - Internet Explorer")? "about:Tabs":RegExReplace(Name, " - (Windows|Microsoft)? ?Internet Explorer$")
For wb in ComObjCreate("Shell.Application").Windows()
    If wb.LocationName=Name and InStr(wb.FullName, "iexplore.exe")
        MsgBox , % wb.LocationName . "`n" . wb.FullName
Return