Focus application extérieure [Résolu]

Messages postés
297
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
18 décembre 2014
- - Dernière réponse : Oniria
Messages postés
297
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
18 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é.

Merci à tous

Oniria
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
297
Date d'inscription
dimanche 14 mars 2004
Dernière intervention
18 décembre 2014
1
Merci
Bonjour,

J'ai trouvé après de très longues heures d'essai infructueux...

Pour ceux que ca interresse, il faut utiliser l'API de window.

On cherche le Handle de la fenêtre de l'application qui nous interresse et on execute

PostMessage(FMain.Handle_Canoe,WM_KEYDOWN,touches[i],FMain.Handle_Canoe);

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 :

PostMessage(FMain.Handle_Canoe,WM_KEYUP,touches[i],FMain.Handle_Canoe);

Si ca peut aider d'autres personnes, surtout dans le pilotage d'une application par le clavier ou la souris ...

Oniria

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Oniria

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.