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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Steph
"DevWDapI" a écrit dans le message de news: h0b6kj$1sg$
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.
Ca dépend du controle : si c'est un TStringGrid, c'est pas possible comme il est dessiné (à part faire de l'OCR..) Ca aurait été possible avec d'autres controles exposant des interfaces COM.
"DevWDapI" <devwdapi@yopmail.com> a écrit dans le message de news:
h0b6kj$1sg$1@aioe.org...
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.
Ca dépend du controle : si c'est un TStringGrid, c'est pas possible comme il
est dessiné (à part faire de l'OCR..)
Ca aurait été possible avec d'autres controles exposant des interfaces COM.
"DevWDapI" a écrit dans le message de news: h0b6kj$1sg$
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.
Ca dépend du controle : si c'est un TStringGrid, c'est pas possible comme il est dessiné (à part faire de l'OCR..) Ca aurait été possible avec d'autres controles exposant des interfaces COM.