Как подключить горячие клавиши в winforms или WPF из сборки .NET 2.0? - PullRequest
0 голосов
/ 05 декабря 2009

У меня есть сборка, предназначенная для .NET 2.0, чтобы быть совместимой с широким спектром приложений. При использовании с настольным приложением (либо winforms, либо WPF) я хочу подключить определенные горячие клавиши и всплывающие немодальные диалоговые окна. Сложно найти решение, которое может быть реализовано в .NET 2.0 и совместимо с WPF.

Для winforms я мог бы использовать RegisterHotKey или реализовать IMessageFilter и перехватывать WM_KEYDOWN в методе PreFilterMessage , но они плохо работают с WPF. *

Для WPF класс InputBinding очень хорош, но он недоступен в .NET 2.0.

Идеальное решение будет:

  • Сборка для сборки с таргетингом на .NET

  • Нажатие клавиш на крючке для WPF или Winforms

  • Обеспечение охвата всего приложения, а не системы

1 Ответ

0 голосов
/ 05 декабря 2009

Вы можете создать универсальное решение на основе Windows API (системный хук). Дон Эспозито написал отличную статью об этом. Вот ссылка

http://msdn.microsoft.com/en-us/magazine/cc188966.aspx

Вы также можете написать ловушку приложения, если не хотите общесистемную ловушку. Это на самом деле проще реализовать. Я думаю, Дон тоже это освещает.

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