hier ein Skriptbeispiel für einen embedded Browser mit Fortschrittsanzeige für das Laden der Seite:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: AutoBert: http://www.autoit.de/index.php?page…4679#post164679
Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet
#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister()
[/autoit] [autoit][/autoit] [autoit]$oIE = _IECreateEmbedded()
$SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_
GUICreate("Embedded Web control Test", 640, 600, _
(@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$hInput = GUICtrlCreateInput("Hier URL eingeben: ", 10, 10, 500)
$hGo = GUICtrlCreateButton("&Go", 520, 10, 50)
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 640, 480)
GUICtrlSetResizing($GUIActiveX, $GUI_DOCKAUTO)
$GUI_Button_Back = GUICtrlCreateButton("Back", 10, 525, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
$GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 525, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
$GUI_Button_Home = GUICtrlCreateButton("Home", 230, 525, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
$GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 525, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
$GUI_Button_Print = GUICtrlCreateButton("PRINT", 450, 525, 100, 22)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
$idProgress = GUICtrlCreateProgress(0, 555, 640, 18)
GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)
GUISetState() ;Show GUI
[/autoit] [autoit][/autoit] [autoit]_IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679")
[/autoit] [autoit][/autoit] [autoit]; Waiting for user to close the window
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $hGo
_IENavigate($oIE, GUICtrlRead($hInput))
Case $msg = $GUI_Button_Home
_IENavigate($oIE, "http://www.autoitscript.com")
Case $msg = $GUI_Button_Back
_IEAction($oIE, "back")
Case $msg = $GUI_Button_Forward
_IEAction($oIE, "forward")
Case $msg = $GUI_Button_Stop
_IEAction($oIE, "stop")
Case $msg = $GUI_Button_Print
_IEAction($oIE, "print")
EndSelect
$surl1 = _IEPropertyGet($oIE, "locationurl")
$surl2 = GUICtrlRead($hInput)
; ConsoleWrite($surl1 & " " & $surl2 & " " & GUICtrlRead($idProgress) & @CRLF)
If $surl1 <> $surl2 And GUICtrlRead($idProgress) > 90 Then GUICtrlSetData($hInput, $surl1)
WEnd
$SinkObject = 0 ; IE Eventzuweisung aufheben
$oIE.Quit ; IE beenden
$oIE = 0
GUIDelete()
Exit
Func IEEvent_ProgressChange($Progress, $ProgressMax)
$percent = Int(($Progress * 100) / $ProgressMax)
If $percent >= 0 And $percent <= 100 Then GUICtrlSetData($idProgress, $percent)
EndFunc ;==>IEEvent_ProgressChange
Hier noch ein ScreenShot:
autoit.de/wcf/attachment/9835/
Da das Skript aus zusammenkopieten Beispielen der Hilfe besteht könnt ihr es selbstverständlich als Vorlage benutzen, aber biite nicht komplett und ausser eigenem CopyRight-Vermerk nichts hinzugefügt.
falls Ihr noch Wünsche, Anregungen habt bitte posten.
viel Spass damit,
Edit1: PostID in Skript eingefügt
Edit2: Skript ausgetauscht, jetzt wird auch die aktuelle URL in die Eingabe übernommen
mfg (Auto)Bert