2017-02-23 3 views
0

J'essaie d'utiliser la méthode keyDown (Ctrl + R) pour enregistrer la position de la souris sur l'écran. Cela fonctionne parfaitement lorsque le formulaire est en face, mais lorsque je clique à l'extérieur du formulaire, le formulaire devient gris, aller à l'arrière et arrêter la détection keyDown. Une étiquette dans le formulaire continue d'afficher la position de la souris même lorsque le formulaire est à l'arrière, mais que keyDown ne fonctionne pas. Évidemment, je sais que c'est l'action normale de Windows pour prioriser le logiciel qui est en face et en usage mais est-il un moyen de faire fonctionner la méthode keyDown même lorsque le formulaire n'est pas en avant ou lorsque le formulaire est minimisé. Merci d'avance et je suis bienvenue à tout commentaire, idée ou suggestion.C# Détecter KeyDown lorsque le WinForm n'est pas devant

Mise à jour: Grâce aux réponses j'ai eu la réponse. Je suis une bibliothèque pour Hotkeys mondiale et LowLevelHooks d'ici: http://www.dreamincode.net/forums/topic/180436-global-hotkeys/

+2

Je pense que [ CE] (http://stackoverflow.com/questions/28785375/c-sharp-wpf-catch-keydown-even-when-minimized) peut vous aider. Je l'ai utilisé il y a un moment pour l'application WPF mais il devrait être identique pour WinForms. – MaLiN2223

+0

Merci pour votre réponse. Je vais vérifier –

Répondre

2

ce que vous recherchez est des crochets de clavier global qui est utilisé pour détecter les clés en dehors WinForm vous pouvez vérifier ce lien par exemple de code Keyboard Hook in C#

+0

Merci pour votre réponse. Je vais vérifier –

+0

Cela fonctionne. Global Hotkeys était l'indice. –