pb simulation click souris avec "postMessage" - API Win32 - Programmation
Marsh Posté le 29-08-2009 à 16:01:34
Citation : cliquer sur des applications qui ne sont pas forcément en premier plan |
Je crois qu'il faut d'abord mettre la fenêtre au premier plan, par exemple avec un SetWindowPos() ou SetActiveWindow(). Mais, j'ai remaqué que ce genre de traitement ne marche pas toujours très bien. Alors j'utilise AutoIT qui est un langage particulier qui permet de très bien faire des clics et autres choses sur les fenêtres des autres applications.
Marsh Posté le 30-08-2009 à 16:38:18
En fait même lorsque la fenêtre est en premier plan cela ne fait rien.
D'après ce que j'ai pu lire l'utilisation de "mouse_event" nécessite d'avoir l'application en premier plan, "postMessage" doit permettre le click de fenêtres qui ne sont pas en premier plan.
En fait ce petit programme fait parti d'un programme plus vaste en C. L'utilisation d'un autre langage pour faire cela me compliquerait beaucoup la tâche.
Marsh Posté le 30-08-2009 à 17:48:58
tu as moyen d'intégrer une DLL de autoit, mais après autoit c'est du windows pur
Marsh Posté le 30-08-2009 à 21:34:59
Vous avez un exemple d'intégration d'une DLL AutoIT dans un programme en C ?
Marsh Posté le 30-08-2009 à 22:44:16
heu un on dit UN programme, mais heu nan, mais sur leur site tous les exemples sont là, et tu peux aussi exposer ton problème sur leur forum
Marsh Posté le 31-08-2009 à 00:22:24
correction faite
Je vais regarder leur site.
Enfin si quelqu'un a une idée pour simuler un click directement en C. ça doit tout de même être possible
Marsh Posté le 31-08-2009 à 00:23:39
désolé, chui pas expert en C, mais j'ai déjà fait du autoIt et je confirme que àa poutre
Marsh Posté le 31-08-2009 à 00:42:43
ReplyMarsh Posté le 01-09-2009 à 15:15:07
>Enfin si quelqu'un a une idée pour simuler un click directement en C. ça doit tout de même être possible
Ca doit faire 15 ans que les methodes sont postées sur les archives Google (Groups)
(notamment le groupe (avancé, mais là c'est simple) de prog Windows http://minilien.com/?CiLBd7ZaRp )
Marsh Posté le 29-11-2009 à 15:11:41
il te faudrait le handle non pas de la fenetre mais du bouton ... c'est lui qui va capturer l evenement mouse_down
Marsh Posté le 28-08-2009 à 22:58:01
Bonjour à tous,
Je viens de découvrir ce super site, c'est une véritable mine.
Néanmoins en fouillant un peu partout je ne suis pas parvenu à répondre à mon problème.
Je cherche à faire un petit programme en C permétant de cliquer sur des applications qui ne sont pas forcément en premier plan.
J'ai le handle de la fenetre sur laquelle je veux cliquer et la position (en pixel) du click dans la fenetre.
J'ai testé les fonctions suivantes (x et y étant les coordonnées du click):
Pour en enfoncer le bouton gauche de la souris :
PostMessage(handle, WM_LBUTTONDOWN, 0, MAKELPARAM(x,y));
ou PostMessage(handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x,y));
Pour lacher le bouton gauche de la souris :
PostMessage(handle, WM_LBUTTONUP, 0, MAKELPARAM(x,y));
et .... rien !
ça compile bien, ça ce lance bien, mais ça ne fait rien, mais rien de chez rien !
please help me.......