Tabitem löschen

  • Hab hier so ein winziges webbrowser projekt(ja, ichweiß, schon wieder) und habe Probleme die Tabs zu löschen? Wie kann ich den aktiven Tab löschen? Sry für das englische, aber das skript ist teils von nem freund...

    [autoit]

    #include <GUIConstants.au3>
    #include <GuiTab.au3>
    #include <IE.au3>
    #include <GuiStatusBar.au3>
    #include <array.au3>
    #include <Misc.au3>
    HotKeySet("!t", "Test")
    Global $Tab[11], $oIE[11], $Obj[11], $flasher[11], $backstack[11][2], $init = 1
    Global $Title = "My Web Browser", $TabPos1 = 5, $TabPos2 = 35, $TabPos3 = 850, $TabPos4 = 650, $Status = 0, $Title2, $Status2 = "", $frskip = 0, $Count = 1, $HomePage
    _IEErrorHandlerRegister()
    $Form = GUICreate($Title, $TabPos3 + 10, $TabPos4 + 30)
    $FileMenu = GUICtrlCreateMenu("File")
    $FileOpenTab = GUICtrlCreateMenu("New Tab", $FileMenu)
    $OpenTab1 = GUICtrlCreateMenuItem("Open Blank Page", $FileOpenTab)
    $OpenTab2 = GUICtrlCreateMenuItem("Open Home Page", $FileOpenTab)
    $ShowSource = GUICtrlCreateMenuItem("Show Page Source", $FileMenu)
    $EditMenu = GUICtrlCreateMenu("Edit")
    $Cut = GUICtrlCreateMenuItem("Cut", $EditMenu)
    $Copy = GUICtrlCreateMenuItem("Copy", $EditMenu)
    $Paste = GUICtrlCreateMenuItem("Paste", $EditMenu)
    $Sep = GUICtrlCreateMenuItem("", $EditMenu)
    $Selectall = GUICtrlCreateMenuItem("Select All", $EditMenu)
    $SettingsMenu = GUICtrlCreateMenu("Settings")
    $ChangeHomePage = GUICtrlCreateMenuItem("Change Home Page", $SettingsMenu)
    $StatusBar = _GUICtrlStatusBar_Create($Form)
    Local $aParts[1] = [500]
    _GUICtrlStatusBar_SetParts($StatusBar, $aParts)
    $Input = GUICtrlCreateInput("", 7, 7, 305, 22)
    $Go = GUICtrlCreateButton("Go", 336, 5, 35, 25)
    $Back = GUICtrlCreateButton("Back", 376, 5, 43, 25)
    $Forward = GUICtrlCreateButton("Forward", 440, 5, 59, 25)
    $Stop = GUICtrlCreateButton("Stop", 520, 5, 43, 25)
    $Refresh = GUICtrlCreateButton("Refresh", 568, 5, 59, 25)
    $Home = GUICtrlCreateButton("Home", 632, 5, 43, 25)
    $Back2 = GUICtrlCreateButton("v", 418, 5, 17, 25)
    $Forward2 = GUICtrlCreateButton("v", 498, 5, 17, 25)
    $Go2 = GUICtrlCreateButton("v", 320, 5, 17, 25)
    $NewTab = GUICtrlCreateButton("New Tab", 680, 5, 65, 25)
    $CloseTab = GUICtrlCreateButton("X", 832, 36, 19, 17)
    $CreateTab = GUICtrlCreateTab($TabPos1, $TabPos2, $TabPos3, $TabPos4 - 50)
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    $HomePage = CheckHomePage()
    OpenTab(1, "Home")
    OpenTab(2, "http://www.yahoo.com/")
    OpenTab(3, "http://www.autoitscript.com/forum/index.php")
    $init = 0
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Go
    Navigate(GetTab(), GUICtrlRead($Input))
    Case $Back
    HistoryBack(GetTab())
    Case $Forward
    HistoryForward(GetTab())
    Case $Stop
    _IEAction($oIE[GetTab()], "stop")
    Case $Refresh
    _IEAction($oIE[GetTab()], "refresh")
    Case $Home
    Navigate(GetTab(), "Home")
    Case $OpenTab1
    OpenTab($Count)
    Case $OpenTab2
    OpenTab($Count, "Home")
    Case $Cut
    _IEAction($oIE[GetTab()], "cut")
    Case $Copy
    _IEAction($oIE[GetTab()], "copy")
    Case $Paste
    _IEAction($oIE[GetTab()], "paste")
    Case $Selectall
    _GUICtrlTab_SetCurFocus($CreateTab, GetTab() - 1)
    _IEAction($oIE[GetTab()], "selectall")
    Case $ChangeHomePage
    $hPage = InputBox("Home Page", "Set default home page :", $HomePage, "", 200, 130)
    If Not @error Then
    $HomePage = $hPage
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\My Web Browser", "Home Page", "REG_SZ", $HomePage)
    EndIf
    Case $NewTab
    OpenTab($Count, "Home")
    Case $ShowSource
    If FileExists(@TempDir & "\Source.txt") Then FileDelete(@TempDir & "\Source.txt")
    $Source = _IEDocReadHTML($oIE[GetTab()])
    FileWrite(@TempDir & "\Source.txt", $Source)
    ShellExecute(@TempDir & "\Source.txt")
    EndSwitch
    TestHistory(GetTab())
    CheckTitle()
    CheckStatusBar()
    NavigateCheck()
    Sleep(10)
    WEnd
    Func CheckTitle()
    $CurrentTitle = _IEPropertyGet($oIE[GetTab()], "title")
    If $CurrentTitle <> $Title2 Then
    WinSetTitle($Form, "", $CurrentTitle & " - " & $Title)
    $Title2 = $CurrentTitle
    EndIf
    EndFunc ;==>CheckTitle
    Func CheckStatusBar()
    If _IEPropertyGet($oIE[GetTab()], "busy") And $Status2 <> _IEPropertyGet($oIE[GetTab()], "locationurl") Then
    _GUICtrlStatusBar_SetText($StatusBar, "Opening page " & _IEPropertyGet($oIE[GetTab()], "locationurl") & "...")
    GUICtrlSetState($Stop, $GUI_ENABLE)
    $Status2 = _IEPropertyGet($oIE[GetTab()], "locationurl")
    ElseIf Not _IEPropertyGet($oIE[GetTab()], "busy") And $Status2 <> "" Then
    _GUICtrlStatusBar_SetText($StatusBar, " ")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    $Status2 = ""
    EndIf
    EndFunc ;==>CheckStatusBar
    Func OpenTab($oNum, $oLink = "")
    If $Count > 10 Then
    MsgBox(0, "Error", "You may only have 10 tabs open at one time")
    Return @error
    EndIf
    $Count += 1
    $backstack[$oNum][0] = 0
    $Tab[$oNum] = GUICtrlCreateTabItem($oNum)
    $oIE[$oNum] = _IECreateEmbedded()
    $Obj[$oNum] = GUICtrlCreateObj($oIE[$oNum], $TabPos1 + 5, $TabPos2 + 25, $TabPos3 - 10, $TabPos4 - 80)
    $flasher[$oNum] = GUICtrlCreateEdit("", $TabPos1 + 5, $TabPos2 + 25, $TabPos3 - 10, $TabPos4 - 80)
    GUICtrlSetState($flasher[$oNum], $GUI_HIDE)
    Navigate($oNum, $oLink)
    TestHistory($oNum)
    If $init = 0 Then
    _GUICtrlTab_SetCurSel($CreateTab, $Count - 2)
    EndIf
    EndFunc ;==>OpenTab
    Func Navigate($nNum, $nLink)
    If $nLink = "" Then
    $nLink = "about:blank"
    _IENavigate($oIE[$nNum], $nLink, 0)
    GUICtrlSetData($Tab[$nNum], "Blank Page")
    Else
    If $nLink = "Home" Then $nLink = $HomePage
    _IENavigate($oIE[$nNum], $nLink, 0)
    $nLink = StringReplace($nLink, "http://", "")
    $nLink = StringReplace($nLink, "www.", "")
    If StringInStr($nLink, "/") Then
    $nLink = StringSplit($nLink, "/")
    $nLink = $nLink[1]
    EndIf
    If StringLen($nLink) > 25 Then $nLink = StringLeft($nLink, 25) & "..."
    GUICtrlSetData($Tab[$nNum], $nLink)
    EndIf
    EndFunc ;==>Navigate
    Func NavigateCheck()
    If _IsPressed("0D") And ControlGetFocus($Form) = "Edit1" Then
    Navigate(GetTab(), GUICtrlRead($Input))
    GUICtrlSetState($Input, $GUI_FOCUS)
    EndIf
    EndFunc ;==>NavigateCheck

    Func CheckHomePage()
    $hPage = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\My Web Browser", "Home Page")
    If @error Then $hPage = "http://www.google.com"
    Return $hPage
    EndFunc
    Func GetTab()
    Return _GUICtrlTab_GetCurSel($CreateTab) + 1
    EndFunc ;==>GetTab
    Func TestHistory($nNum)
    If IsArray($backstack) = 0 Then Return
    If $backstack[$nNum][0] = 0 Then
    If _IEPropertyGet($oIE[$nNum], "locationurl") <> "" Then
    $backstack[$nNum][0] += 1
    $backstack[$nNum][$backstack[$nNum][0]] = _IEPropertyGet($oIE[$nNum], "locationurl")
    EndIf
    EndIf
    If $backstack[$nNum][$backstack[$nNum][0]] <> _IEPropertyGet($oIE[$nNum], "locationurl") And "" <> _IEPropertyGet($oIE[$nNum], "locationurl") And _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]] Then
    $backstack[$nNum][0] += 1
    $newurl = _IEPropertyGet($oIE[$nNum], "locationurl")
    If $backstack[$nNum][0] + 1 > UBound($backstack, 2) Then ReDim $backstack[11][$backstack[$nNum][0] + 1]
    If $backstack[$nNum][$backstack[$nNum][0]] <> "" Then
    For $avar = $backstack[$nNum][0] To UBound($backstack, 2) - 1
    $backstack[$nNum][$avar] = ""
    Next
    EndIf
    $backstack[$nNum][$backstack[$nNum][0]] = $newurl
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    If $frskip = 0 Then
    FlashRefresh($nNum)
    Else
    $frskip = 0
    EndIf
    EndIf
    NavButtons($nNum)
    EndFunc ;==>TestHistory
    Func NavButtons($nNum)
    If $backstack[$nNum][0] > 1 And GUICtrlGetState($Back) <> 80 Then
    GUICtrlSetState($Back, $GUI_ENABLE)
    GUICtrlSetState($Back2, $GUI_ENABLE)
    EndIf
    If $backstack[$nNum][0] = 1 And GUICtrlGetState($Back) <> 144 Then
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    EndIf
    If UBound($backstack, 2) - 1 > $backstack[$nNum][0] Then
    If $backstack[$nNum][$backstack[$nNum][0] + 1] = "" Then
    If GUICtrlGetState($Forward) <> 144 Then
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    EndIf
    Else
    If GUICtrlGetState($Forward) <> 80 Then
    GUICtrlSetState($Forward, $GUI_ENABLE)
    GUICtrlSetState($Forward2, $GUI_ENABLE)
    EndIf
    EndIf
    Else
    If GUICtrlGetState($Forward) <> 144 Then
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    EndIf
    EndIf
    EndFunc ;==>NavButtons
    Func HistoryBack($nNum)
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    $backstack[$nNum][0] -= 1
    Navigate($nNum, $backstack[$nNum][$backstack[$nNum][0]])
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    $frskip = 1
    TestHistory($nNum)
    FlashRefresh($nNum)
    EndFunc ;==>HistoryBack
    Func HistoryForward($nNum)
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    $backstack[$nNum][0] += 1
    Navigate($nNum, $backstack[$nNum][$backstack[$nNum][0]])
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    $frskip = 1
    TestHistory($nNum)
    FlashRefresh($nNum)
    EndFunc ;==>HistoryForward
    Func Test()
    _ArrayDisplay($backstack)
    EndFunc ;==>Test
    Func FlashRefresh($nNum)
    GUICtrlSetState($flasher[$nNum], $GUI_SHOW)
    GUICtrlSetState($flasher[$nNum], $GUI_HIDE)
    _GUICtrlTab_DeselectAll($CreateTab, False)
    EndFunc ;==>FlashRefresh

    [/autoit]
  • Und um das Script zu Ende zu bringen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GuiTab.au3>
    #include <IE.au3>
    #include <GuiStatusBar.au3>
    #include <array.au3>
    #include <Misc.au3>
    HotKeySet("!t", "Test")
    Global $Tab[11], $oIE[11], $Obj[11], $flasher[11], $backstack[11][2], $init = 1
    Global $Title = "My Web Browser", $TabPos1 = 5, $TabPos2 = 35, $TabPos3 = 850, $TabPos4 = 650, $Status = 0, $Title2, $Status2 = "", $frskip = 0, $Count = 1, $HomePage
    _IEErrorHandlerRegister()
    $Form = GUICreate($Title, $TabPos3 + 10, $TabPos4 + 30)
    $FileMenu = GUICtrlCreateMenu("File")
    $FileOpenTab = GUICtrlCreateMenu("New Tab", $FileMenu)
    $OpenTab1 = GUICtrlCreateMenuItem("Open Blank Page", $FileOpenTab)
    $OpenTab2 = GUICtrlCreateMenuItem("Open Home Page", $FileOpenTab)
    $ShowSource = GUICtrlCreateMenuItem("Show Page Source", $FileMenu)
    $EditMenu = GUICtrlCreateMenu("Edit")
    $Cut = GUICtrlCreateMenuItem("Cut", $EditMenu)
    $Copy = GUICtrlCreateMenuItem("Copy", $EditMenu)
    $Paste = GUICtrlCreateMenuItem("Paste", $EditMenu)
    $Sep = GUICtrlCreateMenuItem("", $EditMenu)
    $Selectall = GUICtrlCreateMenuItem("Select All", $EditMenu)
    $SettingsMenu = GUICtrlCreateMenu("Settings")
    $ChangeHomePage = GUICtrlCreateMenuItem("Change Home Page", $SettingsMenu)
    $StatusBar = _GUICtrlStatusBar_Create($Form)
    Local $aParts[1] = [500]
    _GUICtrlStatusBar_SetParts($StatusBar, $aParts)
    $Input = GUICtrlCreateInput("", 7, 7, 305, 22)
    $Go = GUICtrlCreateButton("Go", 336, 5, 35, 25)
    $Back = GUICtrlCreateButton("Back", 376, 5, 43, 25)
    $Forward = GUICtrlCreateButton("Forward", 440, 5, 59, 25)
    $Stop = GUICtrlCreateButton("Stop", 520, 5, 43, 25)
    $Refresh = GUICtrlCreateButton("Refresh", 568, 5, 59, 25)
    $Home = GUICtrlCreateButton("Home", 632, 5, 43, 25)
    $Back2 = GUICtrlCreateButton("v", 418, 5, 17, 25)
    $Forward2 = GUICtrlCreateButton("v", 498, 5, 17, 25)
    $Go2 = GUICtrlCreateButton("v", 320, 5, 17, 25)
    $NewTab = GUICtrlCreateButton("New Tab", 680, 5, 65, 25)
    $CloseTab = GUICtrlCreateButton("X", 832, 36, 19, 17)
    $CreateTab = GUICtrlCreateTab($TabPos1, $TabPos2, $TabPos3, $TabPos4 - 50)
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    $HomePage = CheckHomePage()
    OpenTab(1, "Home")
    OpenTab(2, "http://www.yahoo.com/")
    OpenTab(3, "http://www.autoitscript.com/forum/index.php")
    $init = 0
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Go
    Navigate(GetTab(), GUICtrlRead($Input))
    Case $Back
    HistoryBack(GetTab())
    Case $Forward
    HistoryForward(GetTab())
    Case $Stop
    _IEAction($oIE[GetTab()], "stop")
    Case $Refresh
    _IEAction($oIE[GetTab()], "refresh")
    Case $Home
    Navigate(GetTab(), "Home")
    Case $OpenTab1
    OpenTab($Count)
    Case $OpenTab2
    OpenTab($Count, "Home")
    Case $Cut
    _IEAction($oIE[GetTab()], "cut")
    Case $Copy
    _IEAction($oIE[GetTab()], "copy")
    Case $Paste
    _IEAction($oIE[GetTab()], "paste")
    Case $Selectall
    _GUICtrlTab_SetCurFocus($CreateTab, GetTab() - 1)
    _IEAction($oIE[GetTab()], "selectall")
    Case $ChangeHomePage
    $hPage = InputBox("Home Page", "Set default home page :", $HomePage, "", 200, 130)
    If Not @error Then
    $HomePage = $hPage
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\My Web Browser", "Home Page", "REG_SZ", $HomePage)
    EndIf
    Case $NewTab
    OpenTab($Count, "Home")
    Case $ShowSource
    If FileExists(@TempDir & "\Source.txt") Then FileDelete(@TempDir & "\Source.txt")
    $Source = _IEDocReadHTML($oIE[GetTab()])
    FileWrite(@TempDir & "\Source.txt", $Source)
    ShellExecute(@TempDir & "\Source.txt")
    Case $CloseTab
    GUICtrlDelete($Tab[GetTab()])
    EndSwitch
    TestHistory(GetTab())
    CheckTitle()
    CheckStatusBar()
    NavigateCheck()
    Sleep(10)
    WEnd
    Func CheckTitle()
    $CurrentTitle = _IEPropertyGet($oIE[GetTab()], "title")
    If $CurrentTitle <> $Title2 Then
    WinSetTitle($Form, "", $CurrentTitle & " - " & $Title)
    $Title2 = $CurrentTitle
    EndIf
    EndFunc ;==>CheckTitle
    Func CheckStatusBar()
    If _IEPropertyGet($oIE[GetTab()], "busy") And $Status2 <> _IEPropertyGet($oIE[GetTab()], "locationurl") Then
    _GUICtrlStatusBar_SetText($StatusBar, "Opening page " & _IEPropertyGet($oIE[GetTab()], "locationurl") & "...")
    GUICtrlSetState($Stop, $GUI_ENABLE)
    $Status2 = _IEPropertyGet($oIE[GetTab()], "locationurl")
    ElseIf Not _IEPropertyGet($oIE[GetTab()], "busy") And $Status2 <> "" Then
    _GUICtrlStatusBar_SetText($StatusBar, " ")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    $Status2 = ""
    EndIf
    EndFunc ;==>CheckStatusBar
    Func OpenTab($oNum, $oLink = "")
    If $Count > 10 Then
    MsgBox(0, "Error", "You may only have 10 tabs open at one time")
    Return @error
    EndIf
    $Count += 1
    $backstack[$oNum][0] = 0
    $Tab[$oNum] = GUICtrlCreateTabItem($oNum)
    $oIE[$oNum] = _IECreateEmbedded()
    $Obj[$oNum] = GUICtrlCreateObj($oIE[$oNum], $TabPos1 + 5, $TabPos2 + 25, $TabPos3 - 10, $TabPos4 - 80)
    $flasher[$oNum] = GUICtrlCreateEdit("", $TabPos1 + 5, $TabPos2 + 25, $TabPos3 - 10, $TabPos4 - 80)
    GUICtrlSetState($flasher[$oNum], $GUI_HIDE)
    Navigate($oNum, $oLink)
    TestHistory($oNum)
    If $init = 0 Then
    _GUICtrlTab_SetCurSel($CreateTab, $Count - 2)
    EndIf
    EndFunc ;==>OpenTab
    Func Navigate($nNum, $nLink)
    If $nLink = "" Then
    $nLink = "about:blank"
    _IENavigate($oIE[$nNum], $nLink, 0)
    GUICtrlSetData($Tab[$nNum], "Blank Page")
    Else
    If $nLink = "Home" Then $nLink = $HomePage
    _IENavigate($oIE[$nNum], $nLink, 0)
    $nLink = StringReplace($nLink, "http://", "")
    $nLink = StringReplace($nLink, "www.", "")
    If StringInStr($nLink, "/") Then
    $nLink = StringSplit($nLink, "/")
    $nLink = $nLink[1]
    EndIf
    If StringLen($nLink) > 25 Then $nLink = StringLeft($nLink, 25) & "..."
    GUICtrlSetData($Tab[$nNum], $nLink)
    EndIf
    EndFunc ;==>Navigate
    Func NavigateCheck()
    If _IsPressed("0D") And ControlGetFocus($Form) = "Edit1" Then
    Navigate(GetTab(), GUICtrlRead($Input))
    GUICtrlSetState($Input, $GUI_FOCUS)
    EndIf
    EndFunc ;==>NavigateCheck

    [/autoit] [autoit][/autoit] [autoit]

    Func CheckHomePage()
    $hPage = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\My Web Browser", "Home Page")
    If @error Then $hPage = "http://www.google.com"
    Return $hPage
    EndFunc
    Func GetTab()
    Return _GUICtrlTab_GetCurSel($CreateTab) + 1
    EndFunc ;==>GetTab
    Func TestHistory($nNum)
    If IsArray($backstack) = 0 Then Return
    If $backstack[$nNum][0] = 0 Then
    If _IEPropertyGet($oIE[$nNum], "locationurl") <> "" Then
    $backstack[$nNum][0] += 1
    $backstack[$nNum][$backstack[$nNum][0]] = _IEPropertyGet($oIE[$nNum], "locationurl")
    EndIf
    EndIf
    If $backstack[$nNum][$backstack[$nNum][0]] <> _IEPropertyGet($oIE[$nNum], "locationurl") And "" <> _IEPropertyGet($oIE[$nNum], "locationurl") And _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]] Then
    $backstack[$nNum][0] += 1
    $newurl = _IEPropertyGet($oIE[$nNum], "locationurl")
    If $backstack[$nNum][0] + 1 > UBound($backstack, 2) Then ReDim $backstack[11][$backstack[$nNum][0] + 1]
    If $backstack[$nNum][$backstack[$nNum][0]] <> "" Then
    For $avar = $backstack[$nNum][0] To UBound($backstack, 2) - 1
    $backstack[$nNum][$avar] = ""
    Next
    EndIf
    $backstack[$nNum][$backstack[$nNum][0]] = $newurl
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    If $frskip = 0 Then
    FlashRefresh($nNum)
    Else
    $frskip = 0
    EndIf
    EndIf
    NavButtons($nNum)
    EndFunc ;==>TestHistory
    Func NavButtons($nNum)
    If $backstack[$nNum][0] > 1 And GUICtrlGetState($Back) <> 80 Then
    GUICtrlSetState($Back, $GUI_ENABLE)
    GUICtrlSetState($Back2, $GUI_ENABLE)
    EndIf
    If $backstack[$nNum][0] = 1 And GUICtrlGetState($Back) <> 144 Then
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    EndIf
    If UBound($backstack, 2) - 1 > $backstack[$nNum][0] Then
    If $backstack[$nNum][$backstack[$nNum][0] + 1] = "" Then
    If GUICtrlGetState($Forward) <> 144 Then
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    EndIf
    Else
    If GUICtrlGetState($Forward) <> 80 Then
    GUICtrlSetState($Forward, $GUI_ENABLE)
    GUICtrlSetState($Forward2, $GUI_ENABLE)
    EndIf
    EndIf
    Else
    If GUICtrlGetState($Forward) <> 144 Then
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    EndIf
    EndIf
    EndFunc ;==>NavButtons
    Func HistoryBack($nNum)
    GUICtrlSetState($Back, $GUI_DISABLE)
    GUICtrlSetState($Back2, $GUI_DISABLE)
    $backstack[$nNum][0] -= 1
    Navigate($nNum, $backstack[$nNum][$backstack[$nNum][0]])
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    $frskip = 1
    TestHistory($nNum)
    FlashRefresh($nNum)
    EndFunc ;==>HistoryBack
    Func HistoryForward($nNum)
    GUICtrlSetState($Forward, $GUI_DISABLE)
    GUICtrlSetState($Forward2, $GUI_DISABLE)
    $backstack[$nNum][0] += 1
    Navigate($nNum, $backstack[$nNum][$backstack[$nNum][0]])
    While _IEPropertyGet($oIE[$nNum], "locationurl") <> $backstack[$nNum][$backstack[$nNum][0]]
    Sleep(10)
    WEnd
    $frskip = 1
    TestHistory($nNum)
    FlashRefresh($nNum)
    EndFunc ;==>HistoryForward
    Func Test()
    _ArrayDisplay($backstack)
    EndFunc ;==>Test
    Func FlashRefresh($nNum)
    GUICtrlSetState($flasher[$nNum], $GUI_SHOW)
    GUICtrlSetState($flasher[$nNum], $GUI_HIDE)
    _GUICtrlTab_DeselectAll($CreateTab, False)
    EndFunc ;==>FlashRefresh

    [/autoit]