Hallo,
Ich bin gerade dabei, einen Browser zu machen. Er funktioniert gut, bis auf :
* Wenn man mehrere Tabs aufmacht kann man bei google nicht mehr Enter drücken.
* Wenn man 8 Tabs öffnet, kommt manchmal (selten) ein Fehler.
* Manchmal rutscht die Seite von einem in ein anderes Tab.
Hier der gesammte Code:
Spoiler anzeigen
#include <ComboConstants.au3>
#include <IE.au3>
#include <Misc.au3>
#include <Timers.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <array.au3>
#include <string.au3>
HotKeySet("{F5}","act")
[/autoit] [autoit][/autoit] [autoit]Global $oIE[1], $TabSheet[2]
$oIE[0]=_IECreateEmbedded()
_IEErrorHandlerRegister()
$home="http://www.google.at"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("~~ Browser ~~", @DesktopWidth-5, @DesktopHeight,0 , 0, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_TABSTOP))
$MenuItem1 = GUICtrlCreateMenu("Datei")
$MenuItem5 = GUICtrlCreateMenuItem("Seite zurück", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Seite nachvor", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenuItem("Seite speichern", $MenuItem1)
$MenuItem3 = GUICtrlCreateMenuItem("Browser schließen", $MenuItem1)
$MenuItem6 = GUICtrlCreateMenu("Einstellungen")
$MenuItem9 = GUICtrlCreateMenuItem("Aufgerufene Seiten anzeigen", $MenuItem6)
$MenuItem8 = GUICtrlCreateMenuItem("Gespeicherte Seiten", $MenuItem6)
$MenuItem7 = GUICtrlCreateMenuItem("Nach Aktualisierungen suchen", $MenuItem6)
$Input1 = GUICtrlCreateInput("http://www.google.at", 112, 8, @DesktopWidth-280, 21)
$Button1 = GUICtrlCreateButton("Suche starten auf:", 8, @DesktopHeight-80, 129, 25)
$Button2 = GUICtrlCreateButton("Home", 480, @DesktopHeight-80, 129, 25)
$Button3 = GUICtrlCreateButton("<", 8, 8, 41, 25)
$Button4 = GUICtrlCreateButton(">", 56, 8, 41, 25)
$Input2 = GUICtrlCreateInput("Suchbegriff", 8, @DesktopHeight-110, 601, 21)
$Combo1 = GUICtrlCreateCombo("Wähle deine Suchmaschine", 144, @DesktopHeight-80, 161, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Google|Yahoo|Forestle|Amazon|Ebay|Youtube|Wikipedia")
$Tab = GUICtrlCreateTab(8, 40, @DesktopWidth-175, 25)
$TabSheet[0] = GUICtrlCreateTabItem("Tab 1")
$Pic1= GUiCTrlCreateObj($oIE[0],8,80,@DesktopWidth-30,@DesktopHeight-250)
$TabSheet[1]=GUICtrlCreateTabItem("Tab hinzufügen")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_IENavigate($oIE[0],$home)
$url2=$home
$url1=$home
Global $vTab=1
While 1
_MayAddTab()
If _IEPropertyGet(_IERightMove(),"locationurl") <>$url2 then
RememberPage()
$url2=_IEPropertyGet(_IERightMove(),"locationurl")
GuiCTrlSetData($input1,$url2)
EndIf
$nMsg = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]Switch $nMsg
Case $MenuItem9
$Seiten=""
For $i=0 to 999
$Seiten=$Seiten&IniRead(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")&"|"
Next
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Chronik (~~ gespeicherte Seiten ~~)", 575, 550, 532, 214)
$List1 = GUICtrlCreateList("", 8, 40, 561, 461)
GUICtrlSetData(-1, $Seiten)
$Input1 = GUICtrlCreateInput("Suchbegriff", 8, 8, 505, 21)
$Button1 = GUICtrlCreateButton("Seite aufrufen", 8, 512, 161, 25)
$Button2 = GUICtrlCreateButton("Gespeicherte Seiten löschen", 176, 512, 233, 25)
$Button3 = GUICtrlCreateButton("Verlassen", 416, 512, 153, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GuiDelete($Form2)
ExitLoop
Case $Button3
GuiDelete($Form2)
ExitLoop
case $Button2
For $i=0 to 999
IniWrite(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"~ Leer ~")
Next
$Seiten=""
For $i=0 to 999
$Seiten=$Seiten&IniRead(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")&"|"
Next
GUiCtrlDelete($List1)
$List1 = GUICtrlCreateList("", 8, 40, 561, 461)
GuiCTrlSetData($List1,$Seiten)
MsgBox(0,"Gelöscht","Die gespeicherten Seiten wurden erfolgreich gelöscht!")
case $Button1
$Seite=GuiCtrlRead($List1)
if $Seite="~ Leer ~" Then
MsgBox(0,"Fehler","Bitte wähle eine gültige Seite!")
Else
GuiDelete($Form2)
RememberPage()
_IENavigate(_IERightMove(),$Seite)
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
ExitLoop
EndIf
EndSwitch
WEnd
Case $MenuItem3
_AddTab()
case $MenuItem5
_IeACtion(_IERightMove(),"back")
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
if _IEPropertyGet(_IERightMove(),"locationurl")=0 Then _IeNavigate(_IERightMove(),$home)
case $MenuItem4
_IeACtion(_IERightMove(),"forward")
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
if _IEPropertyGet(_IERightMove(),"locationurl")=0 Then _IeNavigate(_IERightMove(),$home)
case $MenuItem2
For $i=0 to 1000
If IniRead(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")="" Then
$stamp=$i
ExitLoop
EndIf
Next
$url=_IEPropertyGet(_IERightMove(),"locationurl")
IniWrite(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$stamp,$url)
Case $GUI_EVENT_CLOSE
Exit
case $Button2
RememberPage()
_IENavigate(_IERightMove(),$home)
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case $Input1
RememberPage()
_IeNavigate(_IERightMove(),GuiCtrlRead($Input1))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case $Button1
switch GuiCTrlRead($Combo1)
case "Google"
RememberPage()
_IENavigate(_IERightMove(), "http://www.google.de/search?hl=de&source=hp&q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Yahoo"
RememberPage()
_IENavigate(_IERightMove(), "http://de.search.yahoo.com/search?vc=&p=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Forestle"
RememberPage()
_IENavigate(_IERightMove(), "http://de.forestle.org/search.php?q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Amazon"
RememberPage()
_IENavigate(_IERightMove(), "http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=ÅMÅZÕÑ&url=search-alias=aps&field-keywords=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Ebay"
RememberPage()
_IENavigate(_IERightMove(), "http://shop.ebay.de/?_from=R40&_trksid=m38&_nkw=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Youtube"
RememberPage()
_IENavigate(_IERightMove(), "http://www.youtube.com/results?search_query=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Wikipedia"
RememberPage()
_IENavigate(_IERightMove(), "http://de.wikipedia.org/wiki/Spezial:Search?ns0=1&search=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case Else
RememberPage()
_IENavigate(_IERightMove(), "http://www.google.de/search?hl=de&source=hp&q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
EndSwitch
case $Button3
_IeACtion(_IERightMove(),"back")
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case $Button4
_IeACtion(_IERightMove(),"forward")
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case $Input2
$timer=_Timer_Init()
$time=1
FOr $i=0 to 40
If _Timer_Diff($timer)>$time Then
$time=$time+50
if _Ispressed("0D") Then
switch GuiCTrlRead($Combo1)
case "Google"
RememberPage()
_IENavigate(_IERightMove(), "http://www.google.de/search?hl=de&source=hp&q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Yahoo"
RememberPage()
_IENavigate(_IERightMove(), "http://de.search.yahoo.com/search?vc=&p=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Forestle"
RememberPage()
_IENavigate(_IERightMove(), "http://de.forestle.org/search.php?q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Amazon"
RememberPage()
_IENavigate(_IERightMove(), "http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=ÅMÅZÕÑ&url=search-alias=aps&field-keywords=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Ebay"
RememberPage()
_IENavigate(_IERightMove(), "http://shop.ebay.de/?_from=R40&_trksid=m38&_nkw=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Youtube"
RememberPage()
_IENavigate(_IERightMove(), "http://www.youtube.com/results?search_query=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case "Wikipedia"
RememberPage()
_IENavigate(_IERightMove(), "http://de.wikipedia.org/wiki/Spezial:Search?ns0=1&search=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
case Else
RememberPage()
_IENavigate(_IERightMove(), "http://www.google.de/search?hl=de&source=hp&q=" & GUICtrlRead($Input2))
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
EndSwitch
ExitLoop
EndIf
EndIf
Next
EndSwitch
WEnd
Func act()
$url=_IEPropertyGet(_IERightMove(),"locationurl")
_IENavigate(_IERightMove(),$url)
GuiCTrlSetData($Input1,_IEPropertyGet(_IERightMove(),"locationurl") )
EndFunc
Func RememberPage()
$stamp=-1
For $i=0 to 999
If IniRead(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")="~ Leer ~" Then
$stamp=$i
EndIf
if $stamp <>-1 Then ExitLoop
Next
$url=_IEPropertyGet(_IERightMove(),"locationurl")
if $stamp=-1 Then
$msg1=MsgBox(4,"Info","Du hast nun 1000 Seiten besucht, es können jedoch nur 1000 Seiten in der Chronik gespeichert werden. Sollen die gespeicherten Seiten gelöscht werden?")
if $msg1=6 Then
For $i=0 to 1000
IniWrite(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")
Next
MsgBox(0,"Gelöscht","Alle gespeicherten Seiten wurden gelöscht.")
Else
For $i=750 to 1000
IniWrite(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$i,"")
Next
EndIf
Else
IniWrite(@ProgramFilesDIr&"\Browser von V8II\Seiten.ini","Seiten",$stamp,$url)
EndIf
EndFunc
Func GetSelTab($Tab)
Local $msg, $i= GUICtrlRead($Tab,1)
Switch $i
case $TabSheet[0]
$msg="Tab1"
case $TabSheet[1]
$msg="Tab2"
case $TabSheet[2]
$msg="Tab3"
case $TabSheet[3]
$msg="Tab4"
case $TabSheet[4]
$msg="Tab5"
case $TabSheet[5]
$msg="Tab6"
case $TabSheet[6]
$msg="Tab7"
case $TabSheet[7]
$msg="Tab8"
case $TabSheet[8]
$msg="Tab9"
case $TabSheet[9]
$msg="Tab10"
case $TabSheet[10]
$msg="Tab11"
case $TabSheet[11]
$msg="Tab12"
case $TabSheet[12]
$msg="Tab13"
case $TabSheet[13]
$msg="Tab14"
case $TabSheet[14]
$msg="Tab15"
case $TabSheet[15]
$msg="Tab16"
case $TabSheet[16]
$msg="Tab17"
case $TabSheet[17]
$msg="Tab18"
case $TabSheet[18]
$msg="Tab19"
case $TabSheet[19]
$msg="Tab20"
case $TabSheet[20]
$msg="Tab21"
case $TabSheet[21]
$msg="Tab22"
case $TabSheet[22]
$msg="Tab23"
case $TabSheet[23]
$msg="Tab24"
case $TabSheet[24]
$msg="Tab25"
case $TabSheet[25]
$msg="Tab26"
case $TabSheet[26]
$msg="Tab27"
case $TabSheet[27]
$msg="Tab28"
case $TabSheet[28]
$msg="Tab29"
case $TabSheet[29]
$msg="Tab30"
case $TabSheet[30]
$msg="Tab31"
case $TabSheet[31]
$msg="Tab32"
case $TabSheet[32]
$msg="Tab33"
case $TabSheet[33]
$msg="Tab34"
case $TabSheet[34]
$msg="Tab35"
case $TabSheet[35]
$msg="Tab36"
case $TabSheet[36]
$msg="Tab37"
case $TabSheet[37]
$msg="Tab38"
case $TabSheet[38]
$msg="Tab39"
case $TabSheet[39]
$msg="Tab40"
case $TabSheet[40]
$msg="Tab41"
case $TabSheet[41]
$msg="Tab42"
case $TabSheet[42]
$msg="Tab43"
case $TabSheet[43]
$msg="Tab44"
case $TabSheet[44]
$msg="Tab45"
case Else
MsgBox(16,"Error","Der Browser kann die Url des Tabs nicht mehr berechnen.")
Exit
EndSwitch
return $msg
EndFunc
FUnc _IERightMove()
_MayAddTab()
$aTab=StringTrimLeft(GetSelTab($Tab),3)-1
ToolTip($aTab,0,0)
Return $oIE[$aTab]
EndFunc
Func _MayAddTab()
if UBound($TabSheet)=StringTrimLeft(GetSelTab($Tab),3) Then
BlockInput(1)
_GUICtrlTab_SetItemText($Tab,UBound($TabSheet)-1,"Tab "&UBound($TabSheet))
_ArrayAdd($oIE,_IECreateEmbedded())
GuiCtrlCreateObj($oIE[UBound($oIE)-1],8,80,@DesktopWidth-30,@DesktopHeight-250)
_ArrayAdd($TabSheet,GuiCtrlCreateTabItem("Tab hinzufügen"))
_GUICtrlTab_SetCurSel($Tab,UBound($TabSheet)-2)
_IENavigate(_IERightMove(),$home)
act()
BlockInput(0)
EndIf
EndFunc
Ich hoffe, jemand kann mir helfen!