Bonjour à tous,
Mon problème est un peu particulier : je cherche à affecter des raccourcis spéciaux à des touches du clavier et de la souris.
Je ne souhaite pas utiliser de logiciel complémentaire tel que Hotkey, car je veux garder le PC le plus légé possible. Le drivers du clavier et de la souris comprenant des fonctions de mappage, ceux ci devraient suffire et je trouverai dommage d'installer en doublon un autre logiciel de mappage.
Oui mais voilà, malheureusement le soft de mappage de la souris / clavier ne gère pas la touche WINDOWS...
...Mais permet en revanche de lancer une application de son choix
J'ai donc penser à contourner le problème en créant une macro en VB qui simule l'appui des touches via keybd_Event. Une fois l'executable généré et associé à ma touche spéciale (bouton5 de la souris), tout fonctionne à peu prêt comme je le souhaite. Cependant.... :
Un de ces raccourcis est le fameux Win+T qui permet de faire defiler les miniatures de la barre des taches Windows. L'envoi des touches se fait bien et l'action attendue s'execute, à savoir l'affichage de la première miniature de la barre des taches... Oui mais le problème est le suivant : je souhaiterai, au meme titre que le raccourcis physique, qu'en appuyant successivement sur le bouton 5 de la souris, les miniatures défilent. Seulement le hic c'est qu'à chaque clic de souris, c'est la première miniature qui s'affiche. Comme si la barre des taches semblait "oublier" que la première miniature est déjà affichée et qu'elle doit passer à la suivante.
Une des idées qui m'est venue à l'esprit serait que la barre des taches perd le focus entre les 2 envoi de raccourcis.
Je n'ai pas mon code sous la main, mais il est on ne peut plus trivial : il consiste, après importation de la librairie USER32, en ceci :
LWIN down
T down
T up
LWIN up
Je consent bien qu'utiliser VS.NET pour faire un truc aussi légé est un peu too much, mais je n'ai pas réussi à charger de dll dans un script... :-\
Auriez vous une idée ?
En supposant que le problème vienne de la perte de focus lors du lancement de la macro, est il possible alors de la lancer en tache de fond ?
Partager