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

Windows Forms Discussion :

Identifier une fenêtre d'un autre programme


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 100
    Points
    100
    Par défaut Identifier une fenêtre d'un autre programme
    Bonjour,

    Je voudrais savoir comment je peux identifier une fenêtre d'une autre programme qui tourne sur ma machine.

    Je m'explique : J'ouvre tout d'abord un programme A et j'ouvre 3 fenêtres à partir de celui-ci (Le fenêtre de base et 2 enfants). J'aimerais écrire une programme qui me permettrait de lire (accéder aux objets?) l'intérieur des fenêtres enfants du programme A.

    Si vous avez une piste pour moi chercher ce serait sympa, je ne sais pas par où commencer.

    Merci et bonne journée
    NiGhMa
    NiGhMa

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Quand tu dit que tu ouvre trois fenêtres, ce sont des fenêtres gérer par ton programme A ? Autrement dit des forms de ton programme A ou des programmes externes ?

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 100
    Points
    100
    Par défaut
    Ce sont des fenêtres enfants du programme A
    Et avec le petit programme que je veux écrire (programme B) je voudrais atteindre les fenêtres du programme A.
    NiGhMa

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 100
    Points
    100
    Par défaut
    Par exemple ce programme fait ce que je cherche à faire : https://starshelper.net/en
    NiGhMa

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    C'est toi qui a développer programme A ?

    Si c'est le cas il s'agit de communication inter processus (entre application), voici quelques idées
    - les pipes semblent adapté à ce besoin.
    https://www.codeproject.com/Articles...sing-Named-Pip
    - tu peux aussi envisager la communication via le réseau directement.
    - Ou un système ou ton application A pose un fichier dans un dossier qui peux être traité par l'application B, peut être avec du xml ou de la sérialisation.
    - Ou via les api Windows pour envoyer un message d'une application à une autre
    https://www.codeproject.com/Articles...ication-with-C

    Si ce n'est pas le cas, ce qui est envisageable c'est de pourvoir lire/récupérer ce qui est présent dans l'interface graphique (visible)
    Je te conseil d'utiliser AutoIt pour comprendre le mécanisme, il à un outil appelé Au3Info.exe, il permet de trouver les titre, class(au sens api) control ... des applications. essaie avec "calc.exe"
    Au3Info.exe : https://www.autoitscript.com/cgi-bin.../autoit-v3.zip -> Tu le trouvera dans le dossier "install"
    L'idée est de trouver tes fenêtres de A, trouver le control qui t’intéresse et récupérer les valeurs.
    C'est un très bon outil pour faire cela, il est fait pour ça
    Soit :
    - tu développe l'application B en autoit.
    - tu utilise la dll autoit dans ton application B pour te simplifier la vie.
    - tu utilise une autre librairie du même genre.
    - tu utilise directement que les api windows, ce qui est jouable si tu as un certain niveau.


    Pour résumer voici de préférence ce que je conseil
    - les pipes si possible
    - utilise la dll autoit dans ton code C#, ou les api Windows

    Il y a certainement d'autre façon de procéder, je te propose ce qui me viens à l'esprit avec mon niveau de compétence.

  6. #6
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 100
    Points
    100
    Par défaut
    Merci pour les infos, ça va m'aider.

    Je vais commencer par cet AutoIT

    Thanks
    NiGhMa

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Si c'est un programme .Net tu peux jeter un oeil (de faucon ) à http://hawkeye.codeplex.com/

Discussions similaires

  1. appeler une fonction dans un autre programme
    Par elghadi_mohamed dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2007, 19h58
  2. Réponses: 8
    Dernier message: 05/09/2007, 17h28
  3. Réponses: 4
    Dernier message: 04/03/2007, 23h18
  4. Identifier une fenêtre
    Par roudoudouduo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2006, 12h38
  5. [C#] appler une fenêtre d'un autre projet! est ce possible??
    Par othland dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/04/2006, 09h55

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