Ctrl горячая клавиша для моего приложения - PullRequest
0 голосов
/ 25 сентября 2010

У меня есть приложение winforms .net C #, и мне нужно добавить поддержку горячих клавиш, но я хочу больше, чем стандартная функция RegisterHotKey, я хочу иметь возможность поддерживать горячие клавиши типа ctrl - ctrl (как в Google Desktop).

Пожалуйста, укажите, как это реализовать.

edit:

Вы не поняли это правильно.Я хочу, чтобы быстрая клавиша работала, даже если мое приложение не сфокусировано, например свернуто в трей.

Ответы [ 3 ]

0 голосов
/ 25 сентября 2010

Если вы используете winforms и c #, вам лучше использовать события keydown или keypress.И запись предыдущих нажатий клавиш в переменной уровня модуля в форме.Затем, когда пользователь нажимает ctl, срабатывает событие нажатия клавиши, затем вы смотрите на предыдущее значение нажатия клавиши, и если это также было Ctrl, то вы нашли комбинацию клавиш, которую вы ищете.

0 голосов
/ 25 сентября 2010

Возможно, вам придется установить клавиатуру .Теперь, когда .NET 4.0 поддерживает загрузку нескольких версий CLR в один процесс, это не так плохо, как раньше, но все еще осуждается.

0 голосов
/ 25 сентября 2010

Вы можете получить отдельные ключи (например, клавишу ctrl), набрав Console.KeyAvailable, а затем прочитав Console.ReadKey, но это не скажет вам, когда они отпустят клавишу. Вам, вероятно, придется перехватить сообщение WM_KEYDOWN и вызвать GetAsyncKeyState для каждой клавиши, чтобы вы могли определить, какие из специальных клавиш (control, shift, alt и т. Д.) В данный момент не работают.

По крайней мере, это то, что я помню, когда делал, когда писал игры.

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