Изменить существующий код слушателя клавиатуры C # для перехвата сообщения - PullRequest
1 голос
/ 16 ноября 2011

Существующий вопрос переполнения стека прекрасно работает, за исключением того, что мне нужно предотвратить нажатие клавиши.Процитируем оригинального автора поста:

Если вы по какой-то причине хотите перехватить системные ключи (например, создать замену Alt + Tab) и предотвратить окна обработки их, вы должны изменить BeginInvoke на Invoke.Также добавляем свойство Handled в KeyDown, события KeyUp, чтобы увидеть, обрабатывается ли оно.После этого вы либо вызываете CallNextHookEx, либо нет.)

Я прошу прощения за свое невежество, но я не знаю, как справиться с этим.Кто-нибудь может указать мне правильное направление для внесения этих изменений?Я хочу и могу учиться, но не знаю, с чего начать.

1 Ответ

0 голосов
/ 16 ноября 2011

Если вы не хотите, чтобы другие приложения видели ключи, не вызывайте CallNextHookEx.

За документацию MSDN для этого вызова Win32,

Вызов CallNextHookEx не является обязательным, но настоятельно рекомендуется; в противном случае другие приложения с установленными хуками не будут получать уведомления о хуках и в результате может вести себя некорректно. Вы следует вызвать CallNextHookEx, если вам абсолютно необходимо предотвратить уведомление от просмотра другими приложениями.

...