Page 1 sur 1
[R] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 03:18
par jamesst20
Bonjours à tous.. J'ai un petit probleme avec mon navigateur.. Lorsque je visite des sites, La barre d'adresse de se réactualise jamais.. Exemple je tape google.coom et je clique go.. Sa va sur google mais si je fait une recherche sur google, l'Adresse en haut reste google.com..
Voici mon code
Oui je sais il n'a pas beaucoup de fonction encore
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <string.au3>
Dim $s_html
_IEErrorHandlerRegister ()
$ie = _IECreateEmbedded ()
$Form1 = GUICreate("Navigateur Internet par James St-Pierre!", 1425, 830, 5, 1)
$Input1 = GUICtrlCreateInput("", 0, 0, 1329, 21)
$Go = GUICtrlCreateButton("Go", 1328, 0, 108, 22, $BS_FLAT)
GuiSetState()
GUICtrlCreateObj($ie,0, 24, 1433, 809)
Sleep(1000)
_IENavigate ($ie, "http://www.google.ca")
$ancien = ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Go
_IENavigate ($ie, GUICtrlRead($Input1))
EndSwitch
WEnd
Merci de votre aide
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 04:44
par Iste
Ne sachant trop que répondre je suis allé voir
SAE, et là :
Code : Tout sélectionner
$nouveau = _IEPropertyGet($ie, "locationurl")
If $ancien <> $nouveau Then
GUICtrlSetData($txtAdresse, $nouveau)
GUICtrlSetData($listeHistorique, _Now() & " => " & $nouveau, _Now() & " => " & $nouveau)
$ancien = $nouveau
$go = 0
EndIf
Ceci placé dans la boucle principal, permet de mettre a jour l'adresse
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 12:48
par jamesst20
Salut, est-ce que il faut qu'elle soit dans le While 1?
Merci
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 13:20
par DJSIR
Nan bien sûr. Tu peux aussi regarder dans le SAE !
Mais, pourquoi encore un navigateur ?
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 21:42
par jamesst20
Salut, javait regarder dans la section exemple de script avec le meme exemple que plus haut.. Mais sa fonctionnais pas...
Sinon dsl pour a matin Djsir.
Merci
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 22:18
par DJSIR
Essaie de reflechir un peu aussi sinon si on te le fait autant en utiliser un tout prêt !
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 22:34
par sylvanie
pour ta problématique il y a 2 façons de procéder :
la bourrin, mais compréhensible : on boucle dans un while est on traite tout avec des historiques d'ancienne et nouvelles variables.
Avantages : simple et intuitifs
Inconvéniant : c'est lourds lorsque les contrôles se multiplient.
2eme option plus sofistiquée : on exploite l'objet au maximum à savoir IE qui offre des callbacks de notification.
IE propose de s'enregistrer à une de ses fonctions de notification : IEEvent_NavigateComplete. Si on enregistre une fonction à executer lors de cette notification alors cette dernière sera lancée par IE lui même quand il aura fini sont chargement (magique non ^^ )
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <string.au3>
Dim $s_html
_IEErrorHandlerRegister ()
$ie = _IECreateEmbedded ()
$Form1 = GUICreate("Navigateur Internet par James St-Pierre!", 1425, 830, 5, 1)
$Input1 = GUICtrlCreateInput("", 0, 0, 1329, 21)
$Go = GUICtrlCreateButton("Go", 1328, 0, 108, 22, $BS_FLAT)
GuiSetState()
GUICtrlCreateObj($ie,0, 24, 1433, 809)
Sleep(1000)
_IENavigate ($ie, "http://www.google.ca")
$ancien = ""
$EventObject=ObjEvent($ie,"IEEvent_","DWebBrowserEvents")
;; ici je dit "Enegistre moi à toutes les fonctions de notifications de type IEEvent_xxxx
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Go
_IENavigate ($ie, GUICtrlRead($Input1))
EndSwitch
WEnd
;;;;;;;ici en créant MA fonction IEEvent_NavigateComplete, IE lancera celle-ci
;;;;;; quand SA fonction sera terminée
Func IEEvent_NavigateComplete($URL)
; Note: the declaration is different from the one on MSDN.
GUICtrlSetData ( $Input1, _IEPropertyGet($ie, "locationurl") )
EndFunc
Biensûr l'aspect délicat est de connaître ce que propose l'objet IE, car là ça fait lapin sorti du chapeau ^^, voici un lien du forum anglais on on trouve d'autres exple sur lesquels on peut s'appuyer :
http://www.autoitscript.com/forum/index ... opic=47888
[EDIT]
Que suis je bête ...
mettre plutôt
► Afficher le texte
Code : Tout sélectionner
Func IEEvent_NavigateComplete($URL)
; Note: the declaration is different from the one on MSDN.
GUICtrlSetData ( $Input1, $URL)
EndFunc
En effet $URL est un argument donné directement par IE, inutile de le rechercher ^^
Re: [..] Barre d'adresse de mon Navigateur
Posté : mer. 18 nov. 2009 23:36
par jamesst20
Merci Beaucoup tout fonctionne
