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 :

Communication entre applications / Datagrid


Sujet :

Windows

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Communication entre applications / Datagrid
    Bonjour,

    Je réalise une application permettant d'extraire des données contenues dans la fenêtre d'une application externe créée par une société tierce.
    Ainsi, pour repérer la fenêtre j'utilise le système de "Handle" qui permet à Windows d'identifier les différents éléments de l'interface.
    Cependant je n'arrive pas à accéder à certains éléments comme les contenus des dataGrid pour qui Windows ne voit qu'un seul handle de fenêtre pour l'ensemble des éléments qu'il contient.

    J'utilise notamment "Greatis Windowse", un programme qui identifie le "handle" de chaque élément de l'interface (donnant également d'autres infos comme les fils, les classes des éléments, ...).
    Par exemple, dans la capture suivante, nous pouvons identifier plusieurs éléments qui sont: La fenêtre en elle-même, le StringGrid, un champ de texte et un bouton.



    Tous ces éléments sont alors identifiés par un handle unique. Ainsi, lorsque je demande à Windowse de m'afficher, par exemple, les infos sur le champ texte, celui-ci, en plus de me donner le handle de ce champ, me donne son contenu: "Exemple de contenu".
    J'arrive sans problème à accéder au contenu texte du champ Input ou a provoquer à distance le clic sur le bouton (par exemple avec PostMessage(TheHandle, WM_LBUTTONDOWN, MK_LBUTTON,0).

    Cependant, de la même manière, lorsque je demande des informations sur le StringGrid, celui-ci ne me donne qu'un seul et unique handle identifiant l'objet dans sa globalité (peu importe la case que je lui indique) ce qui m'empêche d'accéder à un "sous-objet" en particulier. Par exemple, j'aimerai connaître la chaîne de caractère située dans la case B2.



    M'est-il possible de le faire ? Comment m'y prendre ?

    Merci d'avance


    DevLXApi

  2. #2
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    C'est normal que tu n'aies qu'un seul handle le StringGrid est un seul composant. Le problème c'est que tu peux pas deviner à l'aveugle comment fonctionnent les messages d'un StringGrid, je sais que les sources de la VCL sont fournies avec certaines versions de delphi, si tu les as le plus simple c'est de regarder comment sont implémentées les fonctions qui récupèrent le texte dans les cellules.

Discussions similaires

  1. Communication entre applications
    Par StormimOn dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 04/06/2007, 14h27
  2. [C#] Communication entre applications ?
    Par fmichael dans le forum C#
    Réponses: 10
    Dernier message: 02/03/2007, 08h30
  3. communication entre application.
    Par clucky dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 10h10
  4. Réponses: 7
    Dernier message: 12/05/2006, 08h36
  5. [COM | VB] communication entre application hétérogène
    Par zlavock dans le forum Général Java
    Réponses: 8
    Dernier message: 21/11/2004, 10h51

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