Правильный способ создания фоновой горячей клавиши с WPF C #? (желательно без использования устаревшего кода) - PullRequest
2 голосов
/ 11 марта 2009

Мне нужно иметь возможность настроить фоновое событие горячей клавиши для приложения WPF. (Под фоном я подразумеваю, что рассматриваемое приложение не обязательно должно быть в фокусе).

Я знаю, что с WinForms правильным способом было бы импортировать user32.dll, использовать RegisterHotKey и перехватить соответствующее сообщение WM_POST. Я убежден, что должно быть лучшее решение с WPF, чем с user32.dll, но я не смог ничего найти. Какие-либо предложения? Спасибо

Ответы [ 4 ]

1 голос
/ 15 сентября 2009

Это отличный пример (см. 5.2 «Регистрация горячей клавиши системы»):

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

Он использует Управляемый Windows API , который является отличной оболочкой для многих устаревших вызовов API.

1 голос
/ 11 марта 2009

Я не думаю, что в WPF есть встроенная поддержка горячих клавиш, по крайней мере, я не смог их найти, и я использовал RegisterHotKey напрямую.

0 голосов
/ 17 февраля 2012

Вы должны использовать WinForm, как вы сказали, или Win32.

Я создал решение в классе (Win32), которое можно использовать непосредственно в решении wpf. Просто поместите класс в отдельную DLL, и любые вызовы win32 будут для вас прозрачными (и позволят вам продолжать использовать edit и продолжать корректно). Надеюсь, это поможет.

введите описание ссылки здесь

0 голосов
/ 24 марта 2009

Почему бы не использовать командную инфраструктуру, предоставляемую WPF? Вы могли бы попытаться назначить некоторые привязки команд для вашего главного окна и предоставить некоторые жесты для него ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...