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

Composants VCL Delphi Discussion :

Comment simuler un click sur une fenêtre d'une autre application ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Par défaut Comment simuler un click sur une fenêtre d'une autre application ?
    Bonjour,

    J'aimerai savoir s'il est possible de détecter la fenêtre d'une autre application et de simuler le click sur un bouton de cette fenêtre.
    Ceci dans le but d'automatiser certaines choses sans l'intervention de l'utilisateur.
    Si cela est possible, pouvez-vous m'expliquer la bonne façon de procéder ?

    D'avance merci.

    Christian

  2. #2
    Membre émérite
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Dans l'absolut : chaque composant graphique (ou presque) est une fenetre au sens Windows du terme.
    C'est a dire qu'il est possible de recuperer son handle via les apis windows.
    Si tu controle l'autre application (cad que tu possede les sources) tu peut aussi recuperer le handle via un protocole de comunication de ton choix.

    Quoi qu'il en soit, une fois le handle recupéré, tu peut ensuite utiliser le systeme de message windows pour lancer un message "Click" sur ce handle....

    Sinon le plus simple reste de faire appel a la methode "Click" du composant ce qui n'est malhereusement possible que dans tres peu de cas.

  4. #4
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Citation Envoyé par Clorish
    Dans l'absolut : chaque composant graphique (ou presque) est une fenetre au sens Windows du terme.
    Je me permets de te détromper : seuls les composants héritant de TWinControl possèdent un handle. Les composants héritant de TGraphicControl (par exemple : TLabel ou TShape) ne possèdent pas de handle : ils utilisent les événements et le canevas de leur parent.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Bien sur .... d'ou le :
    (ou presque)
    C'est pour ca aussi que je parle de "Handle" car seul ceux qui ont un handle permettent ce genre de choses ....
    j'essayais juste de ne pas trop en balancer d'un coup
    .... contrairement a d'habitude

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/04/2015, 15h23
  2. Réponses: 2
    Dernier message: 16/03/2015, 21h19
  3. Réponses: 5
    Dernier message: 26/09/2007, 16h07
  4. Réponses: 6
    Dernier message: 18/12/2006, 15h49
  5. Réponses: 12
    Dernier message: 11/10/2006, 22h43

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