Blacknight91
Messages postés77Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention24 avril 2007
-
22 juil. 2005 à 22:17
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
24 juil. 2005 à 16:42
Bonjour,
Ayant parcouru le forum, et n'ayant pas trouvé dans les détails la procédure de ce que je voulais, je pose la question:
Je voudrais controler une application en lui envoyant des messages (simulation d'un appui sur une touche du clavier, clic de souris, ...)
Je n'y connais absolument rien en handle, api et process.
Pourriez vous me décrire avec le plus de précisions possible la marche à suivre pour coder cela ? (je demande pas le code évidemment)
Blacknight91
Messages postés77Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention24 avril 20071 22 juil. 2005 à 22:55
Grace à la source de Coq sur INTERNET EXPLORER - RECUPERATION URL, je commence à comprendre un peu mieux les handles + l'envoi des messages.
Par contre, où peut on avoir la liste de tout les messages que l'on peut envoyer avec SendMessage() ?
Un petit outil incontournable dans ce genre de tâches : Spy++ (fournis avec VS2003)
Pour ce qui est de la récupération des handles des boutons etc, un bon exemple pour s'initier au parcours de la chaine de controles enfants est celui de la récupération de l'url dans la barre d'adresse d'une fenetre IE/Explorer (EnumWindows, FindWindowEx, etc...)
Tu devrais trouver pas mal d'exemples là dessus.
Blacknight91
Messages postés77Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention24 avril 20071 22 juil. 2005 à 23:40
merci pour les notifications, mais dans ta source IE/Explorer tu les utilises en constante, dc tu leur attribut une valeur. Ou peut on connaitre la valeur de chaque message ?
J'ai vu ce que pouvait donné Spy++, génial ^^
Je ne connaissais pas l'outil
Blacknight91
Messages postés77Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention24 avril 20071 23 juil. 2005 à 10:45
J'ai bien réussi à trouver mes handles de mon application.
Cependant ta méthode RecupHandleCtrl() récupère le 1er handle d'un control.
Mon appli comporte plusieurs controls, et ce n'est pas le 1er qui m'intéresse.
Peut on listé les handles d'un control et ainsi pouvoir choisir celui qui nous interesse ?
Blacknight91
Messages postés77Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention24 avril 20071 23 juil. 2005 à 13:05
Encore 2 petites questions (ca commence à en faire là :p)
La touche clavier 'Entrée' à t elle un code spécial ?
Dans winuser.h, VK_RETURN = 0x0D, mais quand je l'applique dans un
PostMessage() j'ai l'impression qu'elle n'est pas utilisé comme je le
voudrais mais en tant que simple caractère.
Dans la msdn de WM_KEYDOWN par ex, comment utiliser le lParam correctement ?
lorsque j'applique une valeur supérieure à 15, il me compte cela quand m comme le nbr de répétition dont la touche est appuyée.
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 24 juil. 2005 à 10:06
S : message envoyé
P : message publié
R : retour, "réponse du destinatiare"
Pour l'utilisation de PostMessage c'était marqué dans la doc pourtant :-)
"The WM_KEYDOWN message is posted to the window with the keyboard focus when a nonsystem key is pressed."
Pour l'utilisation du lParam il faut faire un peu de manip sur les bits de ton int (32 bits) :
les bits 0 à 15 permettent de spécifier le nombre de répétitions
etc