IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Enumérer les fenêtres Internet Explorer ouvertes, mais elles ne sont pas toutes visibles


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 67
    Points
    67
    Par défaut Enumérer les fenêtres Internet Explorer ouvertes, mais elles ne sont pas toutes visibles
    Bonsoir,
    Je tourne en rond depuis un petit moment sur ce sujet.
    Je voudrais énumérer les fenêtres ouvertes d'internet Explorer en utilisant le composant SHDocVw.ShellWindows mais elles ne sont pas toutes visible.

    J'ai pu constaté que cela dépends de la façon de l'ouverture de l'application Internet Explorer :
    - En lançant via l'icône d'internet Explorer dans le menu Démarrer, c'est visible
    - En lançant via un lien (.website) glissé sur le bureau ou ailleurs, la fenêtre InternetExplorer n'est pas visible.
    Sous Xp, je n'avais pas le souci car le raccourcie est de format (.url), mais avec Seven ça coince, car le raccourcie est de type (.website).
    J'ai tenté le mode administrateur, mais non.

    J'ai fouillé sur le net, mais en vain, si vous avez une idée, je suis preneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Imports System.Security.Permissions
     
    Module Module1
     
        <PermissionSetAttribute(SecurityAction.LinkDemand, Name:="FullTrust"), PermissionSetAttribute(SecurityAction.InheritanceDemand, Name:="FullTrust")> _
        Sub Main()
            Dim sw As SHDocVw.ShellWindows = New SHDocVw.ShellWindowsClass()
            For Each IE As SHDocVw.InternetExplorer In sw
                MsgBox(TypeName(IE.Document))
            Next
        End Sub
     
    End Module
    Voici le code que j'utilise pour énumérer les fenêtres ouvertes.

    Merci à vous.

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Il faut que tu utilises du PInvoke pour énumérer les fenêtres ouvertes par instance de processus :

    http://www.pinvoke.net/default.aspx/...umWindows.html

    Gardes bien ce lien (http://www.pinvoke.net) en favoris, tu pourrais également avoir besoin des APIs suivantes :

    GetWindowText
    GetWindowThreadProcessId
    FindWindow
    ...etc.....

    A+

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2015
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Bonsoir,

    Quel est l'utilité de cette action ? Est-ce pour contrôler ou bloquer l'accès à Internet ? Si tel est le cas, il y a plus simple.
    L'important n'est pas de savoir, l'important est de savoir comment savoir.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 67
    Points
    67
    Par défaut
    Bonsoir à vous,
    Je ne peux pas utiliser les apis (Findwindow etc), car je récupère les instances d'internet explorer pour utiliser l'objet HtmlDocumentClass et piloter le contenu de la page Web.

    En gros, mon application détecte si une fenêtre Internet Explorer est ouverte, ensuite regarde si c'est une page web du travail et en attente d'une identification, dans ce cas, j'envoi le login et le mot de passe et se connecte via HtmlDocumentClass.

    Si c'est mon application qui lance un lien avec la fonction WebBrowser, pas de souci, ca fonctionne, le problème se pose si c'est un lien en dehors de mon application.

    Je viens de remarquer depuis mon bureau, si le lien est de type raccourci internet (.URL) ca fonctionne, mais si c'est un raccourci de site épinglé (.website), la fenêtre internet explorer n'est pas visible depuis la fonction ShellWindows.
    (Sous XP, aucun souci, c'est la gestion de Seven et +, avec le .website qui pose souci).

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Pour solutionner mon souci avec InternetExplorer et ShellWindows, il me suffit de renommer l'extension d'un lien internet de type .website par .url.(ok pas propre, mais avec l'histoire de l'UAC, on doit trouver des parades).

    Mon programme pour le coup intercepte la création d'un lien de type .website sur le disque(filesystemwatcher), et le renomme en .url.

    j'ai pas trouvé mieux pour l'instant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Récupérer valeur fenêtre Internet Explorer
    Par QuestVba dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 09/01/2013, 17h02
  2. Réponses: 13
    Dernier message: 05/05/2008, 14h45
  3. sauvegarde planifiée mais elle ne fonctionne pas
    Par iam dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/03/2007, 16h00
  4. Réponses: 5
    Dernier message: 21/02/2007, 17h42
  5. [Internet Explorer] window.location.replace ne fonctionne pas
    Par Gat- dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2007, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo