Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

API : Equivalent [Ctrl] + [N] ?

2 réponses
Avatar
Scarlingo
Bonjour,

Je rencontre un problème particulier en vb.

J'ai un composant Webbrowser qui charge une URL pour m'authentifier sur un
site Intranet.

Ensuite, je fais appel à ce Webbrowser qui reste toujours en tâche de fond
sur mon poste pour ouvrir de nouvelles fenêtres IE en gardant le contexte
d'authentification. Le but de mon appli est de charger une nouvelle URL dans
ma nouvelle page Web, sans retomber sur la zone de saisie de login/mdp

Pour le faire, je souhaiterai faire l'équivalent d'un [Ctrl] + [N] sur mon
Webbrowser.

1/ Connaissez-vous une fonction qui le permette ?

J'y arrive en mettant : Sendkeys("^n").
Malheureusement, ceci m'ouvre une fenêtre de classe "CabinetWClass", au lieu
de "IEFRAME", qui a pourtant l'aspect des fenêtres IE "classiques".

J'arrive à récupèrer le handle, mais je suis ensuite dans une impasse (par
manque d'idées et de connaissances...)

Je connais simplement les API qui permettent de modifier les URL des
fenêtres IEFRAME.

2/ Connaissez-vous une fonction qui pourrait envoyer mon URL à ma fenêtre
"CabinetWClass" ?

Merci d'avance pour votre aide.

Pour résumé :
- avant je faisais :
- authentification à partir de mon webbrowser
- puis, lors de l'appel d'une nouvelle URL :
- Webbrowser.navigate myURL (je charge la nouvelle URL avant le
"Ctrl N")
- sendkeys("^n")
- ma nouvelle fenêtre IE était bien chargée avec le contexte
- je veux maintenant :
- authentification à partir de mon webbrowser
- puis, lors de l'appel d'une nouvelle URL :
- faire d'abord : sendkeys("^n")
- puis, charger l'URL dans la nouvelle fenêtre

2 réponses

Avatar
Alain CROS
Bonjour,

Quelquechose comme ça peut être ?

Sub DeuxFenetresIE()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Navigate "http://www.google.fr"
.Visible = True
.Navigate "http://msdn.microsoft.com", 1&
End With
Set IE = Nothing
End Sub

Alain CROS

"Scarlingo" a écrit dans le message de news:

| Bonjour,
|
| Je rencontre un problème particulier en vb.
|
| J'ai un composant Webbrowser qui charge une URL pour m'authentifier sur un
| site Intranet.
|
| Ensuite, je fais appel à ce Webbrowser qui reste toujours en tâche de fond
| sur mon poste pour ouvrir de nouvelles fenêtres IE en gardant le contexte
| d'authentification. Le but de mon appli est de charger une nouvelle URL dans
| ma nouvelle page Web, sans retomber sur la zone de saisie de login/mdp
|
| Pour le faire, je souhaiterai faire l'équivalent d'un [Ctrl] + [N] sur mon
| Webbrowser.
|
| 1/ Connaissez-vous une fonction qui le permette ?
|
| J'y arrive en mettant : Sendkeys("^n").
| Malheureusement, ceci m'ouvre une fenêtre de classe "CabinetWClass", au lieu
| de "IEFRAME", qui a pourtant l'aspect des fenêtres IE "classiques".
|
| J'arrive à récupèrer le handle, mais je suis ensuite dans une impasse (par
| manque d'idées et de connaissances...)
|
| Je connais simplement les API qui permettent de modifier les URL des
| fenêtres IEFRAME.
|
| 2/ Connaissez-vous une fonction qui pourrait envoyer mon URL à ma fenêtre
| "CabinetWClass" ?
|
| Merci d'avance pour votre aide.
|
| Pour résumé :
| - avant je faisais :
| - authentification à partir de mon webbrowser
| - puis, lors de l'appel d'une nouvelle URL :
| - Webbrowser.navigate myURL (je charge la nouvelle URL avant le
| "Ctrl N")
| - sendkeys("^n")
| - ma nouvelle fenêtre IE était bien chargée avec le contexte
| - je veux maintenant :
| - authentification à partir de mon webbrowser
| - puis, lors de l'appel d'une nouvelle URL :
| - faire d'abord : sendkeys("^n")
| - puis, charger l'URL dans la nouvelle fenêtre
Avatar
Scarlingo
Bonjour,

J'ai essayé d'utiliser la Sub DeuxFenetresIE() mais cela ne fait pas
exactement ce que je recherche.

En effet, en l'utilisant, j'obtiens l'ouverture de deux fenêtres IE
distinctes mais aucune d'entre elle ne garde l'historique.

En fait, ce que je souhaite pouvoir trouver, c'est vraiment une fonction qui :
- En entrée, reçoit une URL
- Duplique un Webbrowser qui tourne toujours en tâche de fond (ce qui permet
d'être toujours authentifié)
- met l'URL dans la fenêtre Dupliquée.

En gros :
- je connais la commande "monWebbrowser.navigate myURL" qui charge une URL
dans un composant Webbrowser
- je voudrais une commande "monWebbrowser.duplique_navigate myURL" qui ouvre
une fenêtre IEFRAME (en faisant l'équivalent de "Ctrl + N" sur monWebbrowser)
et qui charge l'URL dans celle-ci.

Remarque : pour faire "Ctrl + N", j'ai utilisé sendkeys et keybd_event. Dans
les 2 cas, j'obtiens une deuxième fenêtre CabinetWClass (je ne sais donc pas
comment atteindre sa barre d'adresse).

"Alain CROS" a écrit :

Bonjour,

Quelquechose comme ça peut être ?

Sub DeuxFenetresIE()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Navigate "http://www.google.fr"
.Visible = True
.Navigate "http://msdn.microsoft.com", 1&
End With
Set IE = Nothing
End Sub

Alain CROS

"Scarlingo" a écrit dans le message de news:

| Bonjour,
|
| Je rencontre un problème particulier en vb.
|
| J'ai un composant Webbrowser qui charge une URL pour m'authentifier sur un
| site Intranet.
|
| Ensuite, je fais appel à ce Webbrowser qui reste toujours en tâche de fond
| sur mon poste pour ouvrir de nouvelles fenêtres IE en gardant le contexte
| d'authentification. Le but de mon appli est de charger une nouvelle URL dans
| ma nouvelle page Web, sans retomber sur la zone de saisie de login/mdp
|
| Pour le faire, je souhaiterai faire l'équivalent d'un [Ctrl] + [N] sur mon
| Webbrowser.
|
| 1/ Connaissez-vous une fonction qui le permette ?
|
| J'y arrive en mettant : Sendkeys("^n").
| Malheureusement, ceci m'ouvre une fenêtre de classe "CabinetWClass", au lieu
| de "IEFRAME", qui a pourtant l'aspect des fenêtres IE "classiques".
|
| J'arrive à récupèrer le handle, mais je suis ensuite dans une impasse (par
| manque d'idées et de connaissances...)
|
| Je connais simplement les API qui permettent de modifier les URL des
| fenêtres IEFRAME.
|
| 2/ Connaissez-vous une fonction qui pourrait envoyer mon URL à ma fenêtre
| "CabinetWClass" ?
|
| Merci d'avance pour votre aide.
|
| Pour résumé :
| - avant je faisais :
| - authentification à partir de mon webbrowser
| - puis, lors de l'appel d'une nouvelle URL :
| - Webbrowser.navigate myURL (je charge la nouvelle URL avant le
| "Ctrl N")
| - sendkeys("^n")
| - ma nouvelle fenêtre IE était bien chargée avec le contexte
| - je veux maintenant :
| - authentification à partir de mon webbrowser
| - puis, lors de l'appel d'une nouvelle URL :
| - faire d'abord : sendkeys("^n")
| - puis, charger l'URL dans la nouvelle fenêtre