1

我有一个创建多个 IE 选项卡的 AHK 脚本,只是为了访问多个 URL。在程序结束时,我想关闭所有已打开的选项卡,同时保持所有与我的程序无关的选项卡处于打开状态。

我一直在努力研究如何编写代码。WinClose 似乎想完全关闭 IE。

真的很重视这方面的任何帮助。我已经使用 AHK 几年了,它是我选择的编程语言!我喜欢我能用它做的事情!尤其是将代码编译成可移植的可执行文件是多么容易!

4

2 回答 2

0
; Example is taken from here:
; http://www.autohotkey.com/board/topic/67438-navigate-to-javascript/#entry426699

VT_DISPATCH:=9, IID:="{332C4427-26CB-11D0-B483-00C04FD90119}" ; IID_IHTMLWINDOW2
`(oIE:=ComObjCreate("InternetExplorer.Application")).visible:=True
oIE.navigate("http://stackoverflow.com/questions/16327523/"
           . "closing-specific-browser-tabs-in-internet-explorer-programmatically-from-ahk-scr")

While, oIE.ReadyState<>4 Or oIE.Busy
   Sleep, 500

oWindow:=ComObj(VT_DISPATCH, ComObjQuery(oIE, IID, IID), 1)

; http://msdn.microsoft.com/en-us/library/aa741489(v=vs.85).aspx
newWin:=oWindow.open("http://www.autohotkey.com", "_blank")
While, % newWin.document.readyState!="complete"
   Sleep, 500

MsgBox, 262144, % A_LineNumber, % newWin.document.title

; http://msdn.microsoft.com/en-us/library/aa741361(v=vs.85).aspx
newWin.close
MsgBox, 262144, % A_LineNumber, % oIE.document.title
oIE.quit
ExitApp
于 2013-05-02T09:33:41.380 回答
0

它可能超出您的兴趣,但您可以使用COMInternet Explorer。AutoHotkey 有一个ComObjCreate()功能。使用 COM 函数就像直接编写 Internet Explorer 脚本,而不是使用窗口命令攻击它的 GUI。

看看这个 SE 问题

此外,这里是使用 COM 的 Autohotkey 线程

这是文档中的一个 COM 示例:

ie := ComObjCreate("InternetExplorer.Application")
ie.Visible := true  ; This is known to work incorrectly on IE7.
ie.Navigate("http://l.autohotkey.net/")

这是 Internet Explorer COM API

于 2013-07-27T03:28:39.567 回答