#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Dim $links[6]
$links[0]=0
$back_disable=1
$forward_disable=1
$oIE = ObjCreate("Shell.Explorer.2")
#Region ### START Koda GUI section ### Form=
$gui = GUICreate("Browser", 615, 438, 189, 135, $WS_MAXIMIZEBOX+$WS_SIZEBOX)
$gui_input_addr = GUICtrlCreateInput("www.yandex.ru", 56, 8, 521, 21)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT+$GUI_DOCKRIGHT)
$gui_icon_backward = GUICtrlCreateIcon("back_dis.ico", -1, 8, 8, 22, 22)
GUICtrlSetResizing(-1, $GUI_DOCKALL)
$gui_icon_forward = GUICtrlCreateIcon("next_dis.ico", -1, 32, 8, 22, 22)
GUICtrlSetResizing(-1, $GUI_DOCKALL)
$gui_icon_go = GUICtrlCreateIcon("go.ico", -1, 584, 8, 22, 22)
GUICtrlSetResizing(-1,$GUI_DOCKTOP+$GUI_DOCKHEIGHT+$GUI_DOCKWIDTH+ $GUI_DOCKRIGHT)
$gui_ActiveX = GUICtrlCreateObj ($oIE, 8, 35, 601, 370)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$cur_link='http://www.yandex.ru'
$cur_pos=0
$oIE.navigate("http://www.yandex.ru")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $gui_icon_go
$cur_pos=0
my_SetNewBackLink($cur_link)
$addr=GUICtrlRead($gui_input_addr)
If StringInStr($addr,'http://')=0 and StringInStr($addr,'https://')=0 and StringInStr($addr,'ftp://')=0 then $addr='http://' & $addr
my_Backward_Disable(0)
$cur_link=$addr
$oIE.navigate($addr)
case $gui_icon_backward
If $back_disable=0 then
my_SetNewBackLink($cur_link)
my_Backward()
my_Forward_Disable(0)
EndIf
case $gui_icon_forward
If $forward_disable=0 then my_Forward()
EndSwitch
WEnd
Func my_SetNewBackLink($link)
If $links[0]=0 Then
$links[1]=$link
$links[0]=1
ElseIf $links[0]<5 and $links[0]>0 Then
$links[$links[0]+1]=$link
$links[0]=$links[0]+1
elseif $links[0]=5 Then
$links[1]=$links[2]
$links[2]=$links[3]
$links[3]=$links[4]
$links[4]=$links[5]
$links[5]=$link
EndIf
EndFunc
Func my_Backward()
$cur_pos=$cur_pos+1
$temp=$links[0]+1-$cur_pos
if $temp=1 then my_Backward_Disable(1)
GUICtrlSetData($gui_input_addr,$links[$temp])
$oIE.navigate($links[$temp])
EndFunc
Func my_Forward()
$cur_pos=$cur_pos-1
$temp=$links[0]+1-$cur_pos
if $temp=$links[0] then my_Forward_Disable(1)
GUICtrlSetData($gui_input_addr,$links[$temp])
$oIE.navigate($links[$temp])
EndFunc
Func my_Backward_Disable($flag)
Switch $flag
case 1
$back_disable=1
GUICtrlSetImage($gui_icon_backward,'back_dis.ico')
case 0
$back_disable=0
GUICtrlSetImage($gui_icon_backward,'back.ico')
EndSwitch
EndFunc
Func my_Forward_Disable($flag)
Switch $flag
case 1
$forward_disable=1
GUICtrlSetImage($gui_icon_forward,'next_dis.ico')
case 0
$forward_disable=0
GUICtrlSetImage($gui_icon_forward,'next.ico')
EndSwitch
EndFunc