Aller au contenu

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


Arcy

Messages recommandés

Posté(e)

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 !

Posté(e)

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.

 

Archivé

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

×
×
  • Créer...