UDF > IE >


_IEAttach

Attache, � l'instance sp�cifi�e d'Internet Explorer, la recherche de cha�ne selon un mode sp�cifi�

#include <IE.au3>
_IEAttach ( $sString [, $sMode = "title" [, $iInstance = 1]] )

Param�tres

$sString Cha�ne � rechercher (pour les modes "embedded" ou "dialogbox", utilisez la sous-cha�ne Title ou le HWND de la fen�tre)
$sMode [optionnel] Sp�cifie le mode de recherche
    "titre" = (par d�faut) sous-cha�ne du titre du document principal
    "windowtitle" = sous-cha�ne du titre complet de la fen�tre (au lieu du titre du document)
    "url" = sous-cha�ne ou URL de la page actuelle
    "texte" = sous-cha�ne dans le texte du corps de la page courante
    "html" = sous-cha�ne en html du corps de la page courante
    "hwnd" = handle de la fen�tre du navigateur
    "embedded" = sous-cha�ne du titre ou handle de la fen�tre contenant le contr�le
    "dialogbox" = sous-cha�ne ou handle de la boite de dialogue modale ou non modale
    "instance" = $sString est ignor�e, une r�f�rence au navigateur est retourn�e (en faisant correspondre le num�ro d'instance) � partir de toutes les instances disponibles du navigateur
$iInstance [optionnel] Index, � partir de 1, dans le groupe des navigateurs ou des navigateurs embarqu�s qui doit correspondre � $sChaine et $SMODE. Voir Remarques.

Valeur de retour

Succ�s: Retourne une variable objet pointant sur l'objet InternetExplorer pour tous les modes, sauf Embedded et DialogBox qui retournent un objet Window.
�chec: D�finit @error <> 0.
@error: 5 ($_IEStatus_InvalidValue) - Valeur non valide
7 ($_IEStatus_NoMatch) - Pas de correspondance trouv�e
@extended: Contient le nombre de param�tres invalides

Remarques

_IEAttach() fournit le param�tre "dialogbox" pour attacher les bo�tes de dialogue modales et non modales cr��s par le navigateur.
Il est important de noter que ce n'est pas toutes les bo�tes de dialogue cr��es par interaction avec le navigateur qui peuvent �tre attach�s et contr�l�s de cette fa�on.
Beaucoup de ces dialogues sont en fait des fen�tres standard et peuvent �tre contr�l�s par les fonctions traditionnelles des fen�tres de AutoIt. Un moyen fiable de faire la diff�rence entre ces types de fen�tres est d'utiliser l'outil "AutoIt Window Info" pour l'examiner - si la fen�tre contient un contr�le appel� "Explorer_Server Internet", alors vous pouvez l'attacher � cette fen�tre avec cette fonction, si elle n'est pas une fen�tre standard, les fonctions des fen�tres AutoIt traditionnelles doivent �tre utilis�es pour la contr�ler.

Les fen�tres HyperTextApplication (.hta ) peuvent �tre attach�es � l'aide de l'option "embedded".

La syntaxe disponible pour le titre de la fen�tre avanc�e pour les functions standards Win* peut �tre utilis�es � la place d'une sous-cha�ne de titre pour le mode "dialogbox" et "embedded".

Utilisez $iInstance avec le mode "embedded" pour retourner une r�f�rence sur une instance sp�cifique d'un navigateur Web. C'est particuli�rement utile lorsque plusieurs navigateurs existent dans une fen�tre particuli�re.
Si vous passez le titre de la fen�tre dans $sChaine en utilisant le mode embedded, seule la premi�re fen�tre qui correspondra � ce titre sera utilis�e.
Si le contr�le WebBrowser que vous d�sirez est dans une autre fen�tre, vous devez passer le handle de cette fen�tre plut�t que le titre, ou utiliser la syntaxe disponible d'un titre de fen�tre avanc� pour les fonctions standards Win*.

L'utilisation de $iInstance avec tous les modes autres que "embedded" permet de retourner une r�f�rence sur le navigateur � partir d'un groupe de toutes les fen�tres qui correspondent aux crit�res de $sChaine et $SMODE.
L'ordre des instances pour le mode "dialogbox" est d�termin� par l'ordre retourn� par WinList() en faisant correspondre le titre.
Pour tous les autres modes, l'ordre des instances est d�termin�e par la collection Shell.Windows.

Les valeurs de $iInstance > 1 sont ramen�es � 1 et un message d'avertissement est affich� lorsqu'il est utilis� en mode "hwnd" ou en mode "dialogbox" quand un HWnd est pass�e dans $sChaine.

Les modes "dialogbox" et "embedded" peuvent �tre utilis�s pour attacher des fen�tres du navigateur standard, mais l'objet retourn� est la fen�tre de plus haut niveau du navigateur et non l'objet InternetExplorer.
Les objets Window n'offrent pas d'acc�s � tous les attributs de l'objet InternetExplorer (par exemple "status text", "address bar", etc... ).
En outre, si vous essayez d'utiliser une fonction comme _IENavigate() sur un tel objet, vous pouvez recevoir des erreurs COM en raison de la fa�on dont IE7 a impl�ment� les onglets.
Il peut �tre utile de trouver les instances du navigateur de cette mani�re, mais il est recommand� d'utiliser imm�diatement _IEAttach() en utilisant un autre mode et en utilisant les informations que vous avez obtenu � partir de l'objet Window pour obtenir une r�f�rence � l'objet InternetExplorer associ�.

En relation

_IECreate, _IECreateEmbedded, _IEQuit

Exemple

Exemple 1

; Recherche une page avec "AutoIt" dans son titre, affiche l'URL

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

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

$oIE = _IEAttach("AutoIt")
MsgBox($MB_SYSTEMMODAL, "The URL", _IEPropertyGet($oIE, "locationurl"))

_IEQuit($oIE)
_IEQuit($oIE1)

Exemple 2

; Recherche une page avec "simple HTML page"
; dans le texte du document de niveau le plus haut

#include <IE.au3>

Local $oIE_basic = _IE_Example("basic")

Local $oIE = _IEAttach("simple HTML page", "text")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $oIE = ' & $oIE & @CRLF & '>Error code: ' & @error & '    Extended code: 0x' & Hex(@extended) & @CRLF) ; ### Debug Console

Exemple 3

; Recherche un contr�le de page embarqu� dans une autre fen�tre

#include <IE.au3>

Local $oIE = _IEAttach("A Window Title", "embedded")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $oIE = ' & $oIE & @CRLF & '>Error code: ' & @error & '    Extended code: 0x' & Hex(@extended) & @CRLF) ; ### Debug Console

Exemple 4

; Recherche le 3-i�me contr�le de page embarqu� dans une autre fen�tre
; Utilise la syntaxe avanc�e du titre de fen�tre pour utiliser la 2nd fen�tre
; contenant 'ICQ' dans son titre

#include <IE.au3>

Local $oIE = _IEAttach("[REGEXPTITLE:ICQ; INSTANCE:2]", "embedded", 3)

Exemple 5

; Cr�e un tableau de r�f�rences d'objet sur toutes les instances en cours du navigateur
; Le premier �l�ment du tableau contiendra le nombre d'instances trouv�es

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

Local $aIE[1]
$aIE[0] = 0

Local $i = 1, $oIE = _IEAttach("", "instance", 1)

While @error <> $_IEStatus_NoMatch
    ReDim $aIE[$i + 1]
    $aIE[$i] = $oIE
    $aIE[0] = $i
    $i += 1
    $oIE = _IEAttach("", "instance", $i)
WEnd

MsgBox($MB_SYSTEMMODAL, "Naviguateur trouv�", "Nombre d'instances du navigateur dans le tableau: " & $aIE[0])