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 Discussion :

Ouverture et commande d'une application à partir d'une autre


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Ouverture et commande d'une application à partir d'une autre
    Bonjour,

    Je suis débutant en programmation windows et j'aimerais créer une application 1 qui doit :
    - Ouvrir une application 2 (existante);
    - Envoyer des commandes correspondant aux appui sur les contrôles windows (boutons, etc...) de cette application 2.

    Cela est-il réalisable sachant que je ne connaîs pas le code source de cette application 2 ?

    Si oui, comment connaître les lignes de code correspondant aux interactions avec les contrôles windows?

    Merci d'avance!

  2. #2
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par Rog51
    Bonjour,

    Je suis débutant en programmation windows et j'aimerais créer une application 1 qui doit :
    - Ouvrir une application 2 (existante);
    - Envoyer des commandes correspondant aux appui sur les contrôles windows (boutons, etc...) de cette application 2.

    Cela est-il réalisable sachant que je ne connaîs pas le code source de cette application 2 ?

    Si oui, comment connaître les lignes de code correspondant aux interactions avec les contrôles windows?

    Merci d'avance!
    utilise l'api ::ShellExecuteEx() pour démarrer la nouvelle appli et récupérer son handle, avec lequel tu pourras lui envoyer des messages
    besoin de réponses ? demande a un pote

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Merci de ta réponse, cela m'a donné quelques pistes à creuser.

    En revanche, j'ai encore quelques questions dont les réponses paraitront évidentes aux programmeurs windows expérimentés :

    - Est-il possible connaître les identifiants des contrôles des fenetres windows du programme 2 (celui dont je ne connais pas le code) ?

    - Est-il possible de 'cacher' les fenêtres graphiques de cette application mais d'executer quand même le code correspondant aux appuis sur les boutons, etc... ?

    - Ou puis-je trouver des pages de descriptions exhaustives des fonctions utilisées (en gros l'équivalent des pages de man linux) ?

    Merci !

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    1. Avec des utilitaires comme spy++ (ou une utilisation astucieuse d'EnumWindows() et EnumChildWindows()), tu peux.
      Mais pour des barres d'outils, je ne pense pas.
    2. Je n'ai pas essayé, mais ça doit être possible.
    3. http://msdn2.microsoft.com
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Evidemment... J'aurais dû y penser désolé!

    Merci en tout cas, je creuse tout ça...

  6. #6
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par Médinoc
    1. Avec des utilitaires comme spy++ (ou une utilisation astucieuse d'EnumWindows() et EnumChildWindows()), tu peux.
      Mais pour des barres d'outils, je ne pense pas.
    2. Je n'ai pas essayé, mais ça doit être possible.
    3. http://msdn2.microsoft.com
    il existe aussi HWndSpy
    besoin de réponses ? demande a un pote

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Tout d'abord un grand merci pour vos réponses, elles étaient très précises et m'ont été d'un grand secours pour le développement de mon application.

    J'ai une autre question concernant la commande d'un contrôle Edit.
    La méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetWindowText (HandleEdit, "MonTexte");
    n'a aucun effet alors que je suis sûr que le handle sur l'Edit est le bon (Je peut lui envoyer des messages de type WM_CHAR, etc...).

    Pour information, cet Edit est associé à un bouton type "Browse", pour selectionner un chemin. Le problème vient peut-être de là.

    Savez-vous d'ou cela peut-il venir ?
    Y a-t-il d'autres méthodes ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2012, 09h30
  2. Réponses: 3
    Dernier message: 15/09/2011, 14h38
  3. Réponses: 5
    Dernier message: 22/05/2008, 14h42
  4. Lancer une application à partir d'une application précise.
    Par Faith's Fall dans le forum C++Builder
    Réponses: 2
    Dernier message: 16/01/2007, 18h08
  5. Gérer fenetre tierce d'une application à partir d'une autre
    Par narutobaka dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/09/2005, 12h01

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