Я согласен с Джоном.Используйте user32.dll и функцию RegisterHotKey.Очень полезный пример кода находится по адресу: https://www.codeproject.com/kb/cs/kiosk_cs.aspx?display=print
Если, как я изначально и представлял, код выглядит как полный бред, и вы не знаете, что делать, посмотрите учебные пособия: https://www.youtube.com/watch?v=qQWqGOaZiFI Они очень полезны!
Если вы попытаетесь зарегистрировать системную горячую клавишу: Однако обратите внимание, что код из первой ссылки вернет ошибку, в зависимости отна какую системную горячую клавишу вы пытаетесь зарегистрироваться.Мой вопрос по этому вопросу, который выдвигает на первый план проблему: Как отключить системные горячие клавиши в user32.dll? (в настоящее время не решен).Там также есть редактирование кода, которое исправит одну из ошибок, которые вы получите, если попытаетесь переопределить системные клавиши :
[DllImport("user32.dll", SetLastError = true)]
Мне удалось заблокировать Горячая клавиша Windows + E , но другие, такие как Alt + F4 и Home + Right , не отключаются и возвращают ошибку.
Это не должно быть проблемой для вас, если вы не пытаетесь переопределить системную горячую клавишу.Однако я бы предложил вам использовать приведенный ниже код для диагностики вашего кода, если одна из ваших горячих клавиш не регистрируется.
Marshal.GetLastWin32Error()
^ Полный контекст этой строки кода находится в первой ссылке!