UDF > IE >


_IECreate

Crée une fenêtre avec le navigateur Internet Explorer

#include <IE.au3>
_IECreate ( [$sUrl = "about:blank" [, $iTryAttach = 0 [, $iVisible = 1 [, $iWait = 1 [, $iTakeFocus = 1]]]]] )

Paramètres

$sUrl [optionnel] Spécifie l'URL d'accès à la page d'accueil lors de la création
$iTryAttach [optionnel] Spécifie si la fonction doit tenter d'attacher IE à une fenêtre existante
    0 = (par défaut) Ne pas essayer
    1 = Essayer d'attacher IE à une fenêtre existante
$iVisible [optionnel] Indique si la fenêtre du navigateur sera visible
    0 = la fenêtre du navigateur est cachée
    1 = (par défaut) la fenêtre du navigateur est visible
$iWait [optionnel] Spécifie si la fonction doit attendre que la page soit chargée avant de retourner
    0 = retour immédiatement, sans attendre que la page soit chargée
    1 = (par défaut) Attendre que le chargement de la page soit terminé avant de retourner
$iTakeFocus [optionnel] Spécifie s'il faut donner le focus à la fenêtre attachée
    0 = Ne pas donner le focus
    1 = (par défaut) Donner le focus à la fenêtre

Valeur de retour

Succès: Retourne une variable objet pointant vers l'objet InternetExplorer.Application.
Échec: Définit @error <> 0.
@error: 1 ($_IEStatus_GeneralError) - Erreur générale
3 ($_IEStatus_InvalidDataType) - Type de donnée invalide
4 ($_IEStatus_InvalidObjectType) - Type d'objet invalide
6 ($_IEStatus_LoadWaitTimeout) - Délai d'attente de chargement dépassé
8 ($_IEStatus_AccessIsDenied) - Accès refusé
9 ($_IEStatus_ClientDisconnected) - Client déconnecté
@extended: Contient True (1) ou False (0) selon la réussite de $iTryAttach

Remarques

Lors de l'utilisation de tryAttach, une erreur No Match sera affiché dans la console à partir de _IEAttach().
Ceci peut être contrôlé par _IEErrorNotify().

Lorsque vous ouvrez un fichier HyperTextApplication (.hta) local, Internet Explorer ouvre un nouveau processus de navigateur pour ce fichier qui ne sera pas accessible par la variable objet retourné par _IECreate().
Pour contrôler ce nouveau navigateur, vous devez utiliser _IEAttach() avec l'option "embedded".

De nouvelles sécurités dans Windows Vista provoque la création d'une nouvelle fenêtre de navigateur lorsque le navigateur est invité à naviguer vers une URL dans une zone de sécurité différente.
Cela se produit aussi bien avec la création initiale qu'avec la navigation initiée par _IECreate().
La nouvelle fenêtre est une nouvelle instance du navigateur et la variable objet navigateur précédente ne pointe plus sur elle.
Il existe plusieurs solutions:
    1) ajoutez #RequireAdmin à votre code (ce qui est nécessaire, même si le compte fait partie du Groupe Administrateur et demandera les informations si nécessaire),
    2) utilisez _IEAttach() pour se connecter à la nouvelle fenêtre de navigateur
    3) ajoutez le site cible à la zone de sécurité Sites de Confiance dans Internet Explorer,
    4) désactivez "Protected Mode" dans IE,
    ou 5) désactivez l'UAC. Il faut prendre soin de comprendre les implications de la désactivation des fonctions de sécurité de IE lors de l'accès à des sites non sécurisés.

En relation

_IEAttach, _IECreateEmbedded, _IELoadWait, _IENavigate, _IEQuit

Exemple

Exemple 1

; Crée une fenêtre de navigateur et navigue vers un site web

#include <IE.au3>

Local $oIE = _IECreate("www.autoitscript.com")

Exemple 2

; Crée une nouvelle fenêtre de navigateur qui pointe vers 3 URLs différentes
; si une n'existe pas déjà ($f_tryAttach = 1)
; ne pas attendre le chargement complet de la page ($f_wait =  0)

#include <IE.au3>

_IECreate("www.autoitscript.com", 1, 1, 0)
_IECreate("my.yahoo.com", 1, 1, 0)
_IECreate("www.google.com", 1, 1, 0)

Exemple 3

; Tente d'attacher à un navigateur existant l'affichage d'un site web particulier
; Crée une nouvelle page et navigue vers ce site si il n'existe pas déjà

#include <IE.au3>
#include <MsgBoxConstants.au3>

Local $oIE = _IECreate("www.autoitscript.com", 1)
; Teste  la valeur retournée @extended pour voir si Attach a réussi
If @extended Then
    MsgBox($MB_SYSTEMMODAL, "", "Attached to Existing Browser")
Else
    MsgBox($MB_SYSTEMMODAL, "", "Created New Browser")
EndIf

Exemple 4

; Crée une fenêtre navigateur vide et la remplit avec du code HTML perso

#include <IE.au3>

Local $oIE = _IECreate()
Local $sHTML = "<h1>Hello World!</h1>"
_IEBodyWriteHTML($oIE, $sHTML)

Exemple 5

; Crée une fenêtre navigateur attachée à une nouvelle instance de iexplore.exe
; Il est souvent nécessaire d'obtenir d'abord une nouvelle session de cookie
; (les cookies de session sont partagés entre toutes les instances du navigateur partageant le même iexplore.exe)

#include <IE.au3>

Opt("WinTitleMatchMode", 2)

ShellExecute("iexplore.exe", "about:blank")
WinWait("Windows Internet Explorer")

Local $oIE = _IEAttach("about:blank", "url")
_IELoadWait($oIE)
_IENavigate($oIE, "www.autoitscript.com")