Moyen approprié de créer un raccourci clavier en arrière-plan avec WPF C #? (de préférence sans utiliser le code hérité)

StackOverflow https://stackoverflow.com/questions/633362

  •  10-07-2019
  •  | 
  •  

Question

Je dois pouvoir configurer un événement de raccourci clavier en arrière-plan pour une application WPF. (par contexte, je veux dire que l'application en question n'est peut-être pas nécessairement mise au point).

Je sais qu'avec WinForm, la méthode appropriée consiste à importer le fichier user32.dll, à utiliser RegisterHotKey et à intercepter le message WM_POST approprié. Je suis convaincu qu'il doit exister une meilleure solution avec WPF, qui utilise ensuite user32.dll, mais je n'ai rien trouvé. Aucune suggestion? Merci

Était-ce utile?

La solution

Je ne pense pas que WPF prenne en charge les raccourcis clavier. Au moins, je n’en ai trouvé aucun et j’ai directement utilisé RegisterHotKey.

Autres conseils

Cela donne un excellent exemple (voir 5.2 "Enregistrement du raccourci système"):

http://blog.280z28.org/archives/2007/03/ 15 /

Il utilise la API Windows gérée , qui constitue un excellent moyen de protéger de nombreux appels d'api hérités. .

Pourquoi ne pas utiliser l'infrastructure de commande fournie par WPF? Vous pouvez essayer d’affecter des liaisons de commande à votre fenêtre principale et de lui donner des gestes clés ...

Vous devez utiliser WinForm comme vous l'avez dit ou Win32.

J'ai créé une solution dans une classe (Win32) que vous pouvez utiliser directement dans une solution wpf. Il suffit de placer la classe dans une DLL séparée et tous les appels à win32 seront transparents pour vous (et vous permettront de continuer à utiliser edit et de continuer correctement). J'espère que ça aide.

entrez la description du lien ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top