Piloter un programme commercial

Résolu
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005 - 30 nov. 2004 à 13:40
Tamplan Messages postés 26 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mars 2009 - 24 sept. 2005 à 15:53
Bonjour,
J'aimerais piloter un prgramme commercial (remplir des champs et clicker sur des boutons) avec mon appli VB 6.
Je pensais utiliser sendkeys mais les racourcis clavier n'existent pas tous !!

Comment peut on donner le focus à un champ texte afin d'utiliser sendkeys pour remplir ce champ?
Comment peut on simuler le click souris sur un bouton precis ?

D'avance Merci

Gi

13 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 nov. 2004 à 21:47
Les API qui peuvent t'interesser : GetParent, EnumChildWindow, mouse_event, keybd_event.

Sub-classer, cela veux dire intercepter les messages à destination de la fenêtre, et les traiter à la place de la fenêtre de destination. Par exemple, tu peux intercepter le clic sur un bouton pour ignorer l'action, ou la remplacer par l'action de ton choix.
Tu peux également envoyer des messages aux contrôles de l'application source (exemple, remplir un textbox, sélectionner un item d'un listbox, etc.)

_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 déc. 2004 à 13:36
Avec EnumChildWindow : il faut savoir que n'importe quel contrôle (sauf les contrôles statiques tels que les labels, les shapes, ou les lines) sont des fenêtres (par exemple : un commandbutton, un listbox, ou un richtextbox sont des fenêtres).

Avec cette fonction, tu peux récupèrer le hWnd de ces contrôles, et ensuite, tu peux définir tout ce que tu veux, et récupèrer ce que tu veux (leurs positions, leurs tailles, leur texte, etc.)
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
cs_Prince Charmant Messages postés 34 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 30 novembre 2004
30 nov. 2004 à 13:52
Salut,

il y a trois méhtodes pour piloter une Appli :
DDE => ouvrir un canal et envoyer les instructions.
OLE => créer un objet du type de la application et lui appliquer les méthodes qui vont bien.
SendKeys => Envoyer des touches.

Les 2 premières nécessitent que l'application ai été developpée dans ce sens. Alors que la 3° fonctionne "pratiquement" toujours (si l'application est active).

On peut utiliser les séquences "%u" (alt+u) pour arriver directement à une zone marquée par un u souligné. Si il n'y en a pas, il faut compter les tabulations et envoyer "{TAB}".

A+
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 nov. 2004 à 16:07
Ou passer par des API pour récupèrer les informations de tout les contrôles de l'application commerciale, et intéragir avec elle (voir même la sub-classer), mais là, c'est relativement compliqué à mettre en oeuvre, et il faut bien connaitre l'application à piloter !

_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
30 nov. 2004 à 20:46
merci à vous pour ces reponses.

DARKSIDIOUS peux tu m'indiquer les API à utiliser, un exemple de source serait le bienvenu !!
Qu'entend tu par sub-classer ?

merci

Gi
0
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
30 nov. 2004 à 23:06
merci pour ta reponse.
Mais ou peut on trouver des exemples de sources permettant de sub-classer une apli ?

Gi
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 déc. 2004 à 07:18
Tu en trouveras sur ce site. J'en ai fait une toute petite pour limiter la taille d'une fenêtre par exemple.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
1 déc. 2004 à 13:33
DARKSIDIOUS a dit :
"Ou passer par des API pour récupèrer les informations de tout les contrôles de l'application commerciale"

Comment fait on pour recuperer les contrôles de l'application commerciale.
je n'ai pas trouvé d'api qui permet de faire ça .

merci.

Gi
0
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
1 déc. 2004 à 13:52
Merci pour cette reponse rapide et precise

Gi
0
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
2 déc. 2004 à 13:35
suite à toutes ces explication je peu lister les controles de mon prog commercial, j'arrive a clicker sur les boutons et modifier les champs texte .

Par contre je bloque sur 2 points :

1) je dois agir sur des combobox ?
2) je dois simmuler un click sur la premiere ligne d'un listview ?

si quelq'un peu m'aider je suis preneur.

Gi
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 déc. 2004 à 13:46
Comment cà "agir" sur les combo ? Modifier l'item sélectionné ?

Pour le listview, je pense que le plus simple reste de cliquer au niveau du pixel 1*1, ou 2*2 qui doit correspondre à la première ligne normalement...
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_gi Messages postés 58 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 12 février 2005
2 déc. 2004 à 16:53
je me suis mal exprimé, en effet par "agir " j'entendais modifier l'item selectionné.

Gi
0
Tamplan Messages postés 26 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 31 mars 2009
24 sept. 2005 à 15:53
J'aimerais également piloter un soft commercial mais n'arrive à rien malgrés vos explications ...

Quelqu'un aurait un bout de code pour que je puisse l'analyser s'il vous plait ?

Merci pour votre aide.
0
Rejoignez-nous