|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
Bonjour,
Je réalise une application qui à pour but de gérer des sites distants et dont l'un des fonctions est de permettre la connexion sur des systèmes de visioconférence. L'accès à ces matériels se fait via un page WEB sur notre Intranet sécurisée par mot de passe. C'est en désespoir de cause que je vous soumets aujourd'hui mon problème : J'ai besoin de pouvoir ramener au premier plan la page web d'un site si l'utilisateur l'a déjà ouverte. Ce que j'arrive à faire, c'est de savoir si la page web est déjà ouverte, d'amener IE8 au premier plan, mais en aucun cas d'afficher l'onglet du site au premier plan. J'ai cherché sur le WEB mais nulle part je n'ai trouvé comment on gère les onglets d'internet Explorer. Il est possible d'ouvrir une page web dans un nouvel onglet mais il semble impossible de forcer l'affichage au premier plan d'un onglet déjà présent. A l'aide |
|
|
|
|
|
#2 (permalink) | ||
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2009
Messages: 75
|
Bonjour,
Dis nous déja comment tu fais ca. Citation:
Citation:
|
||
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
Code :
Public Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long Public fenetres Dim myIE As New InternetExplorer BringWindowToTop myIE.hwnd pour ouvrir une page Web dans un nouvel onglet il faut utiliser : Code :
NavOpenNewForegroundTab (MSDN : BrowserNavConstants Enumerated Type) Dernière modification par jacques_jean ; 06/07/2009 à 16h56. Motif: Balises CODE |
|
|
|
|
|
#4 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2009
Messages: 75
|
Tout ceci est un peu compliqué pour moi mais on doit puvoir se débrouiller pour assembler les deux? Je chercherai...
A bientôt nicht Salut, Si je ne m'abuse, le titre de la fenêtre d'internet explorer prend le titre ou l'adresse de l'onglet en cours. Je n'utilise pas ie donc je n'ai pas essayé mais peut-être que l'on peut changer le titre de la fenêtre et par conséquent, l'onglet du premier plan sera celui dont le nom ou l'adresse de la fenêtre? Essai et tiens nous au courant... Dernière modification par AlainTech ; 17/07/2009 à 17h39. Motif: Fusion de 2 messages |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
Il n' y a pas de doutes, l'idée est sympa mais comment faire pour savoir quel onglet à le focus ?
Pour changer le titre de l'onglet actif il faut le trouver et ce n'est pas forcemment le premier. C'est une piste mais après 4H dessus j'avoue que je n'ai pas avancé... Enfin si : Set maPageHtml = IE.document maPageHtml.Title contient le titre de la fenêtre en question C'est un début... |
|
|
|
|
|
#7 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
bonjour,
Tout d'abord merci de ne pas me laisser tout seul avec cet epineux problème. C'est vraiment appréciable. Concernant la nouvelle hypothèse de travail : Quand je parcours les pages IE ouvertes, en fait je crois que je parcours les process IE ouverts et donc a une fenêtre IE ouverte correspond un "Title". Il faudrait que je récupére le "Title" de la fenêtre IE sans faire de boucle sur les pages IE (là je me demande si je suis clair et sincérement j'ai un doute !) Parceque sinon la fenêtre change nom en fonction de la page IE trouvée. Autrement dit le document.title est toujours en rapport avec la page IE, c'est bien tout le problème lié à IE8 de cet espèce de conteneur "virtuel" rassemblant les onglets et le plus drôle c'est que ce n'est absolument pas documenté .... |
|
|
|
|
|
#8 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2009
Messages: 75
|
Re-
Merci pour le compliment je suis flatté. En fait, tu as vraiment raison d'avoir un doute: je n'ai rien compris du tout (je l'ai dit: je connais rien a ie!!) Peut-être avec des explications un peut-plus claires... |
|
|
|
|
|
#9 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
et je dis bien tentative,
lorsque l'on fait une boucle qui parcourt l'ensemble des fenêtres I.E. et que l'on recupère le titre associé (ie : document.title) le titre de la fenêtre supportant les onglets est en rapport avec la fenêtre IE en cours (comme si la fenêtre en cours prenait le focus). ce ne correspond pas à l'état réel de la fenêtre "mère" (qui contient les onglets) qui elle à un instant T porte le titre de l'onglet qui est au premier plan. J'ai utilisé un outil de type SPY++ qui permet d'interroger un fenêtre Windows pour récupérer ses caractéristiques, et je me suis rendu compte que ces fenêtres ne possèdent pas de code HWND (Handle : identifiant), lorsque l'on passe d'un onglet à l'autre seuls deux paramètres changent : HDC(Wnd) et HDC (Client) qui semblents liès à la position géographique de la fenêtre (en hexadécimal) La fenêtre "container" est elle de classe IEFrame je deviens de plus en plus précis mais ce n'est pas pour autant que j'avance... |
|
|
|
|
|
#10 (permalink) | ||||
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2009
Messages: 75
|
S'il te plait, je t'en t'en supplie...
J'avais demandé des explications plus claires pas plus précises. Moi je suis un débutant qui apprend avec l'aide de vba et ce forum. Je ne sais ce que c'est moi un: Citation:
Citation:
Citation:
Citation:
![]() Tu as bien de la chance de pouvoir avancer avec ça... ![]() Nicht |
||||
|
|
|
|
|
#11 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2009
Messages: 6
|
SPY++ : un outil fourni par Microsoft dans chaque distribution visual studio qui te permet en mettant le cursuer sur une fenêtre windows de récupérer ses caractéristiques entre autres son Handle (HWND)
Le Handle est un identifiant unique d'un objet windows dont on peut se servir via VB HDC je ne suis pas sur... Peut être un rapport avec la localisation de la fenêtre sur l'écran IEFRAME Chaque objet appartient à un class (Class Textbox...) et IEFRAME c'est la classe pour les fenêtres Internet Explorer. IE8 est un cas particulier puisqu'il y a deux modes de fonctionnement (option à cocher) : soit on utilise les onglets une seule fenêtre IE contient plusieurs pages WEB , soit on a une fenêtre par page Web (mode classique). voila voila... |
|
|
|
|
|
#12 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2009
Messages: 75
|
Ben dis donc, on en apprend tous les jours!
![]() Alors, si j'ai bien compris, tu as plusieurs fenêtres de ie avec dans chacune plusieurs onglets, et ru voudrais mettre celle qui contient l'onglet de ton adresse au premier plan et selctionner cet onglet par la même occasion? Alors, si tu connais la position de la fenêtre et l'onglet, tu peux te servir simplement de touches |Alt|+|Tab| pour la fenêtre et |Ctrl|+|tab| pour l'onglet. Si tu ne connais pas leur position il faudra que je cherche (que nous cherchions Nicht |
|
|
|
|
|
![]() |
||
Excel VBA et Internet explorer 8
|
||
| Outils de la discussion | |
|
|