Aller au contenu

Récupérer un évènement quand la fenêtre est en arrière-plan


Arcy

Messages recommandés

Bonjour,

J'ai un programme en C# qui effectue du traitement en premier-plan.

Le souci est qu'à terme, l'application ne sera plus visible et j'aurai besoin d'arrêter certaines fonctions via l'appuie de touches/combinaisons de touche.

J'ai bien trouvé quelques liens sur internet mais c'est plutôt flou pour moi, ça consisterai à importer des DLL de Windows et faire des évènements dessus.

https://social.msdn.microsoft.com/Forums/fr-FR/89b905a2-37d0-4d11-8467-cc9cf8146964/capturer-une-touche-en-dehors-dune-windows-form-et-sans-le-focus?forum=visualcsharpfr

Si vous avez d'autres pistes ou des explications, ça m'intéresse :)

 

Merci à vous !

Lien vers le commentaire
Partager sur d’autres sites

La solution, bâtarde, consiste d'un côté à implanter dans l'appli un test sur le contenu/la présence d'un fichier sur le disque, ou encore d'une valeur dans une BDD et de l'autre côté de créer une appli qui intercepte le clavier pour écrire le fichier/contenu/BDD.

D'un côté vous aurez le pseudo service et de l'autre une interface de commande de ce service.

Pour répondre à la question de la DLL, je pense qu'il faut utiliser User32.dll, GetAsyncKeyState( )

Sinon, mais là ça fait longtemps que je n'ai pas testé (je ne sais pas si ça fonctionne encore dans W7/8/10) il y a la solution du TSR, si vous aimez l'ASM.

 

Edit: j'aurais dû lire le lien :ouioui:. La méthode du Hook, est l'équivalent du TSR d'autrefois, donc devrait fonctionner.

 

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...