Bonjour,

Je suis en train d'écrire une application en VB servant à piloter d'autres applications (multimédias) via leur interface à l'aide de raccourcis clavier et de clics souris.
L'utilisateur peut se servir d'une télécommande infrarouge quelconque via un module USB spécifique, de commandes TCP/IP via une petite appli, mais surtout du clavier (ou d'une télécommande IR émulant le clavier).
Dans ce dernier cas le programme fais un hook du clavier pour recevoir les ordres. A réception d'une touche:

- interprétation de la commande reçue
- arrêt du hook
- envoi du raccourci clavier à l'application pilotée
- reprise du hook.

Ce processus marche plutôt bien sauf dans le cas où une touche est répétée abondamment (flèches directionnelles par exemple). Dans ce cas, il arrive que l'appui sur la touche n'est pas interprété, mais arrive directement à l'appli au premier plan.

Quelques essais avec postmessage et sendmessage pour envoyer un raccourci clavier m'ont montrés qu'il n'était pas nécessaire de désactiver le hook pour envoyer la commande et que l'appli visée pouvait parfois rester à l'arrière plan.

Le problème est que je ne comprend pas trop le fonctionnement de ces commandes. Parfois un programme réagit bien à postmessage et reste de marbre avec sendmessage (potplayer, MPC-HC.). D'autres c'est l'inverse (kodi, xbmc). Plus ennuyeux encore, je ne vois pas comment simuler des appuis sur Ctrl, Alt ou Shift en plus de la touche.

Donc, voilà je suis à la recherche d'une doc assez précise sur ces fonctions. (Je trouve surtout beaucoup de questions avec des réponses incomplètes voir fausses)
Merci de votre aide.