Oniria
Messages postés292Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention18 décembre 2014
-
4 nov. 2008 à 10:44
Oniria
Messages postés292Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention18 décembre 2014
-
5 nov. 2008 à 15:13
Bonjour,
J'ai développé un petit programme qui détecte des mouvement avec ma webcam.
Dès qu'il y a un mouvement, je déclenche une simulation d'appui sur le clavier par la fonction keybd_event.
Sauf que cette action est liè à l'application qui est active (celle qui à le focus).
J'arrive à récupérer la liste des applications qui sont lancé mais je ne trouve pas d'info pour activer l'application qui m'intéresse.
Comment peut-on donner le focus à l'application de son choix ? Comment connaitre l'application qui a le focus ?
Ainsi, si un mouvement est détecté, je pourrais activer l'application de mon choix puis simuler une touche pour que cette application sache qu'un événement est arrivé.
avec dans mon cas : FMain.Handle_Canoe qui est le Handle de la fenêtre de l'application
WM_KEYDOWN qui est l'appui d'une touche
touches[i] correspond au code de la touche (par exemple VK_0 pour la touche 0)
et ce que je ne savais pas qu'il fallait mettre dans ce qui est appelé lParam, le Handle de la fenêtre de l'application. Ce n'ai pas documenté, j'ai trouvé en créant un espion de message windows.
Ensuite, au bout d'un petit moment, il faut envoyer la commande de relachement :