mox
-
2 avril 2001 à 20:27
mathieumg
Messages postés558Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention18 février 2006
-
24 juil. 2005 à 07:09
Voici mon probleme : mon logiciel cree une instance de internet explorer et je voudrais controler si un lien ouvre une nouvelle fenetre IE : je sais que c'est newwindow2 et pour cela, au lancement de mon application, j'ai fait comme dans l'aide msdn, j'ai cree une autre instance de IE, mais invisible, qui prendra le relai si un lien ouvre une nouvelle fenetre IE mais mon probleme est que je ne sais pas me servir du parametre ppdisp de l'evenement newwindow2 ou encore, je ne sais pas comment obtenir l'URL de cet evenement, URL que je metterai dans mon IE invisible et que je rendrai visible bien sur : voici ce que je voudrais faire, c'est tout simple : dans l'evenement newwindow2
cancel=true (pour fermer la fenetre qui s'ouvre)
IEinv.navigate2 URL (URL que je n'ai pas)
IEinv.visible=true (ma 2eme instance d'IE prend le relai)
je vous remercie d'avance car je galere depuis pres d'une semaine...alors que ca doite tre tout simple...
merci de votre comprehension
il faut que t'y prennes comme ca, dans l'evenement newwindow2 :
set ppdisp = IEinv.object
et hop, ton IEinv prendra le relais !
En fait, cet objet ppdisp est un pointeur sur l'objet qui est sensé ouvrir l'url de la nouvelle fenêtre. Si tu ne le définis pas, une nouvelle fenêtre d'IE est ouverte automatiquement et le ppdisp pointera sur cet objet.
Par contre, si tu le redéfinis vers ton propre objet 'WebBrowser', c'est lui qui va ouvrir le lien.
Si cela n'est pas trés clair, essaie la chose suivante : dans un projet vb, pose deux composants WebBrowser (webbrowser1 et webbrowser2) et dans l'evt NewWindow2 du premier, place ce bout de code :
private sub webbrowser1_newwindow2
set ppdisp = WebBrowser2.object
end sub