2013-05-01 42 views
1

我有一個AHK腳本,用於創建多個IE選項卡,僅用於訪問多個URL。在程序結束時,我想關閉所有已打開的選項卡,同時打開任何與我的程序無關的選項卡。以編程方式從AHK腳本中關閉Internet Explorer中的特定瀏覽器選項卡

我一直在努力研究如何編寫代碼。 WinClose似乎想要完全關閉IE。

對此真的很重視。我已經使用AHK幾年了,這是我選擇的編程語言!我喜歡我能用它做什麼!特別是將代碼編譯爲便攜式可執行文件是多麼容易!

回答

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 
0

這可能比您感興趣的要多,但您可以使用Internet Explorer的COM。 AutoHotkey具有ComObjCreate()函數。使用COM函數就像直接腳本化Internet Explorer,而不是使用窗口命令對GUI進行攻擊。

Check out this SE question

此外,這裏是一個Autohotkey thread for using COM

下面是從一個文檔COM例如:

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

Here is Internet Explorer COM API

相關問題