Cr�e un objet Webbrowser adapt� � l'int�gration dans une GUI AutoIt avec GUICtrlCreateObj()
#include <IE.au3>
_IECreateEmbedded ( )
Succ�s: | Retourne une r�f�rence � un objet Webbrowser. |
�chec: | D�finit @error <> 0. |
@error: | 1 ($_IEStatus_GeneralError) - Erreur g�n�rale |
Aucune action ne peut �tre effectu�e sur cet objet tant qu'il n'a pas �t� int�gr� dans une application parent (par exemple, vous ne pouvez pas effectuer une _IENavigate().
En raison de cette restriction, le navigateur n'est pas automatiquement connet� � 'about:blank' comme un navigateur cr�� avec _IECreate().
Vous devez donc utiliser _IENavigate() pour connecter ce navigateur � 'about:blank' apr�s qu'il ait �t� int�gr� dans une application parent et avant de tenter des op�rations sur un document ayant �t� charg� (par exemple _IEBodyWriteHTML()).
Il y a plusieurs propri�t�s li�es � un objet InternetExplorer (par exemple retourn�es par _IECreate()) qui ne s'appliquent pas � cet objet.
Il s'agit notamment du statut du texte, de la barre d'adresse et d'autres qui peuvent exister pour un navigateur, mais qui n'existent pas pour un contr�le int�gr�.
Vous pouvez avoir des probl�mes de visibilit� d'objet sauf si vous utilisez le style $WS_CLIPCHILDREN de Windows dans GUICreate().
_IEQuit() ne peut pas �tre utilis�e avec cet objet. L'objet sera d�truit quand la GUI parente sera d�truite.
_IEAttach, _IECreate, _IENavigate
; Intercepte des erreurs COM comme 'Back' et 'Forward' ; en dehors des limites historiques qui n'interrompent pas le script ; (attend les erreurs COM pour les envoyer � la console) #include <GUIConstantsEx.au3> #include <IE.au3> #include <WindowsConstants.au3> Local $oIE = _IECreateEmbedded() GUICreate("Embedded Web control Test", 640, 580, _ (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _ $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) GUICtrlCreateObj($oIE, 10, 40, 600, 360) Local $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30) Local $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30) Local $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30) Local $idButton_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30) Global $g_idError_Message = GUICtrlCreateLabel("", 100, 500, 500, 30) GUICtrlSetColor(-1, 0xff0000) GUISetState(@SW_SHOW) ; Affiche la GUI _IENavigate($oIE, "http://www.autoitscript.com") _IEAction($oIE, "stop") ; Attend que l'utilisateur ferme la fen�tre Local $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE Select Case $iMsg = $idButton_Home _IENavigate($oIE, "http://www.autoitscript.com") _IEAction($oIE, "stop") _IEAction($oIE, "back") CheckError("Home", @error, @extended) Case $iMsg = $idButton_Back _IEAction($oIE, "back") CheckError("Back", @error, @extended) Case $iMsg = $idButton_Forward _IEAction($oIE, "forward") CheckError("Forward", @error, @extended) Case $iMsg = $idButton_Stop _IEAction($oIE, "stop") CheckError("Stop", @error, @extended) EndSelect $iMsg = GUIGetMsg() WEnd GUIDelete() Exit Func CheckError($sMsg, $iError, $iExtended) If $iError <> 0 Then $sMsg = "Erreur d'utilisation " & $sMsg & " bouton (" & $iExtended & ")" Else $sMsg = "" EndIf GUICtrlSetData($g_idError_Message, $sMsg) EndFunc ;==>CheckError