Problème composant WebBrowser

Résolu
JALEO WAHRANI
Messages postés
17
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
14 février 2008
- 30 juil. 2007 à 21:16
JALEO WAHRANI
Messages postés
17
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
14 février 2008
- 1 août 2007 à 12:49
Bonsoir à tous,
j'ai un petit problème avec VB2005:

Voici mon code:

Dim ie, vPost As Object

ie = New SHDocVw.InternetExplorer()
vHeaders = "Content-Type: application/x-www-form-urlencoded" + Convert.ToChar(10) + Convert.ToChar(13)

vPost = System.Text.ASCIIEncoding.ASCII.GetBytes("nom=toto&pass=password")
ie.Visible = True
ie.Navigate2("http://www.monUrl.com", vbNull, vbNull, vPost, vHeaders)

Or, le problème que j'ai c'est que sous Win Xp, ça m'ouvre 2 fenêtres de IE et sous Vista ça m'ouvre 3 fenêtres de IE.

Bon, comme vous l'aurez compris, seule 1 m'interesse: la bonne

Il semblerait que les fenêtres qui s'ouvrent sous XP soit:
- ??? (message connexion en cours)
- la bonne fenêtre

et sous Vista
- ??? (message connexion en cours)
- la bonne page mais sans paramètre POST
- la bonne page avec les paramètres

Si quelqu'un sait comment faire, merci d'avance !!!

3 réponses

JALEO WAHRANI
Messages postés
17
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
14 février 2008

1 août 2007 à 12:49
Bon alors j'ai trouvé presque par hasard la réponse, donc je l'affiche pour ceux que ça peut interesser.

Déjà, ne pas se tromper pour les déclarations, au lieu de faire
Dim ie As Object, faire Dim ie As SHDocVw.InternetExplorer

ensuite le mettre invisible et ne lui rendre la visibilité qu'après le navigate, puis pour éviter les problème, passer les paramètres comme suit:

ie.Visible = False
ie.Navigate("http://www.monUrl.com", , , vPost, vHeaders)
ie.Visible = True

Voilou c'est tout (enfin j'espère)
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
31 juil. 2007 à 09:25
pour quelle raison utilise Navigate2 ? (et non Navigate)

la seule difference qu'il y ai, c'est que Navigate attend un String, pour l'URL.
Navigate2 accepte lui également des Long (pour passer un PIDL)

NB: j'ai pas dit que ton soucis venais de là


tu peux essayer de passer une vraie valeur pour le flag, comme par exemple
navOpenInNewWindow (1)

http://msdn2.microsoft.com/en-us/library/aa752093.aspx
0
JALEO WAHRANI
Messages postés
17
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
14 février 2008

31 juil. 2007 à 12:14
J'ai essayé avec

ie.Visible = False
ie.Navigate2("http://www.monUrl.com", 1, vbNull, vPost, vHeaders)

et

ie.Visible = False

ie.Navigate("http://www.monUrl.com", 1, vbNull, vPost, vHeaders)

Et il y a une fenêtre qui s'ouvre en moins soit 1 seule sous XP et toujours 2 sous Vista:
- 1 sans Post
- 1 complète
0