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]] )
$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. |
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 |
_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�.
_IECreate, _IECreateEmbedded, _IEQuit
; 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)
; 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
; 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
; 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)
; 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])