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 :

Intervenir sur une fenêtre fille d'une appli externe. [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut Intervenir sur une fenêtre fille d'une appli externe.
    Bonjour à tous,

    Ca fait un moment que je cherche sur le net comment résoudre mon problème. A ce jour j'ai fait une partie du chemin, mais les derniers pas semblent bloquants.

    Je souhaite contrôler les fenêtres d'enregistrement de fichiers d'applications comme Excel, Word .... pour obliger l'utilisateur à ranger les document suivant la charte de notre société en leur rendant le travail plus facile (réponse de l'utilisateur à des questions fermées).

    J'ai donc penser à la méthode suivante :
    En arrière plan une appli surveille les applications (fenêtres ouvertes)
    Si une des applications ouvre une fenêtre d'enregistrement, un message est affiché demandant à l'utilisateur si il souhaite utiliser l'appli d'aide au classement du fichier.
    Si l'utilisateur répond par l'affirmative, l'utilisateur répond aux questions. Une fois terminé, l'appli rempli les champs de la boîte d'enregistrement avec les informations ad-hoc. L'utilisateur n'a plus qu'a cliquer sur le bouton enregistrer.

    Mon problème est récupérer le handler de la fenêtre fille de la boîte d'enregistrement ainsi que ceux des contrôles présents dans cette fenêtre. De manière à pouvoir les modifier si nécessaire.

    Avez-vous quelques exemples qui pourraient me guider.

    Merci d'avance

    Cordialement

  2. #2
    Membre Expert
    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
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Mon problème est récupérer le handler de la fenêtre fille de la boîte d'enregistrement ainsi que ceux des contrôles présents dans cette fenêtre. De manière à pouvoir les modifier si nécessaire.
    Très bien alors montrés nous la portion de ton code qui te pose problème .....

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par rlapt Voir le message
    Bonjour à tous,

    Je souhaite contrôler les fenêtres d'enregistrement de fichiers d'applications comme Excel, Word .... pour obliger l'utilisateur à ranger les document suivant la charte de notre société en leur rendant le travail plus facile (réponse de l'utilisateur à des questions fermées).


    Cordialement
    Ce que l'en dis, c'est que le premier quidam venu qui connaît pour deux sous de VBA peut enregistrer à peu près m'importe lequel fichier Office sans aucune boîte de dialogue.

    Et que bien des applications Office peuvent ouvrir plus d'un document à la fois, et chacun dans sa propre fenêtre.

    Personnellement, j'ai de gros doutes sur la faisabilité de cela. Et que dans les options des applications Office, il y a moyen de sélectionner des dossiers par défaut, que 90 % des utilisateurs ne modifieront jamais, de toutes façons.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Bonjour,

    Tout d'abord merci à tous les deux d'avoir pris du temps pour me répondre.

    En réponse à Wallace1 :
    j'aurai du mal de proposer du code pour la récupération des infos de la fenêtre fille, dans la mesure où justement je n'arrive pas à trouver un tuto ou des exemples de ce fonctionnement.
    Je me suis fortement inspiré d'un exemple trouvé sur le net "Appli_control" qui utilise les API FindWindows et EnumChildWindows, et me permet d'obtenir tous les contrôles d'une fenêtre extérieure, mais pas des fenêtres filles.

    En réponse à ClémentMarcotte :
    J'ai du certainement mal expliquer mon problème.
    Je sais très bien
    que le premier quidam venu qui connaît pour deux sous de VBA peut enregistrer à peu près m'importe lequel fichier Office sans aucune boîte de dialogue
    et que l'on peut enregistrer des documents d'une application externe à partir de sa propre application, mais ce n'est pas exactement mon problème.

    Je pense qu'il doit quand même être possible de retrouver une fenêtre fille en premier plan sur le bureau, mais pour le moment, je ne sais pas comment.

    Merci d'avance si vous avez d'autres idées.

  5. #5
    Membre Expert
    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
    Billets dans le blog
    7
    Par défaut
    Je me suis fortement inspiré d'un exemple trouvé sur le net "Appli_control" qui utilise les API FindWindows et EnumChildWindows, et me permet d'obtenir tous les contrôles d'une fenêtre extérieure, mais pas des fenêtres filles.
    Et bien personnellement je ne rencontre aucun problème pour énumérer toutes les fenêtres (actives ou non) et tu devrais persévérer dans cette voie là.....
    La charte est très claire la dessus, si tu ne fais pas l'effort d'envisager quelque-chose alors on ne te fournira pas de code prêt à l'emploi donc mets-toi au travail si tu veux qu'on te mette sur la bonne voie

    Voilà un site qui devrait t'aider : https://www.pinvoke.net/
    et ensuite les exemples ne manquent pas sur la toile en t'aidant des noms de fonctions.

    ++

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 73
    Par défaut
    Bonjour Wallace1,

    Je trouve votre attitude particulièrement indécente. Vous exprimez des idées sans même comprendre ou avoir lu le problème (voir votre première réponse). Si vous n'avez rien à proposer ou si vous vous considérez tellement au dessus du lot, ne répondez pas. Vous perdez votre temps et pire, vous le faites perdre à tout le monde. Vos message n'apporte rien.

    Je demande simplement une voie de recherche.
    Salutations

  7. #7
    Membre Expert
    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
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par rlapt Voir le message
    Bonjour Wallace1,

    Je trouve votre attitude particulièrement indécente. Vous exprimez des idées sans même comprendre ou avoir lu le problème (voir votre première réponse). Si vous n'avez rien à proposer ou si vous vous considérez tellement au dessus du lot, ne répondez pas. Vous perdez votre temps et pire, vous le faites perdre à tout le monde. Vos message n'apporte rien.

    Je demande simplement une voie de recherche.
    Salutations
    Je viens d'éditer mon dernier post.

    [MODE = ON]
    Je te rappelle simplement que j'ai bien identifié ton problème et que j'ai bien pris le temps de répondre ce qui me confère une qualité pour le moins sociable mais il ne faudrait pas non plus exagérer !
    Mets-toi à notre place : tu viens avec des problèmes mais tu ne nous montres pas l'ombre d'un minim investissement (= pas de code) donc n'imagines pas qu'ici on bosse en Freelance et que si on prends le temps de te répondre c'est déjà un bon investissement pour la communauté.....
    C'est facile de critiquer ou reprocher l'aide si minimum que l'on peut te fournir alors que toi tu viens simplement avec tes problèmes !

    [MODE = OFF]

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2008, 11h47
  2. Réponses: 1
    Dernier message: 21/12/2007, 21h27
  3. Réponses: 11
    Dernier message: 06/12/2005, 08h23

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