Я не могу поверить, @Martijn Pieters удалил мой ответ. Прекрасно ответит на ваш вопрос и поможет другим. Может быть, он должен удалить плохие ответы.

ирую в C #, если это актуально.

Я пытаюсь отключить системные горячие клавиши для приложения киоска. Код, использованный здесь, взят из:https://www.codeproject.com/kb/cs/kiosk_cs.aspx?display=print

Этот человек:Как отключить нажатие / удерживание клавиш Alt, Control и Shift, когда нажата левая кнопка мыши оказалось, успешно использовали этот метод для отключенияAlt + F4 на винде. Однако она не указала явно, какую версию Windows она использовала, кроме как сказать, что одна из команд не работала в W8.

Учебник для тех, кто не понимает код:https://www.youtube.com/watch?v=qQWqGOaZiFI

Я попробовал это.

RegisterHotKey(this.Handle, int 1, (int)USE_ALT, (int)Keys.F4);

^ продолжает терпеть неудачу все же.

Marshal.GetLastWin32Error().ToString()

Когда ^ запускается, он возвращает код ошибки"1400".

Перечень ошибок:https://msdn.microsoft.com/en-us/library/windows/desktop/ms681385(v=vs.85).aspx, Это говорит о том, что это результат"Неверный дескриптор окна.", Я не знаю, почему это происходит, потому что «Alt + F4» закрывает текущее выбранное окно. Я уверен, что это то, чтоFindWindow(string cls, string wndwText) возвращается.

я добавил"SetLastError = true" в:

[DllImport("user32.dll", SetLastError = true)] private static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);

Теперь регистрация "Alt + F4" возвращает"1409", что значит«Горячий ключ уже зарегистрирован», Какой именно смысл. Это уже зарегистрировано, и для этого приложения киоска мне нужно временно отключить это. Мои исследования показали, что для создания хуков мне нужно использовать user32.dll. Что именно то, что я делаю или пытаюсь сделать.

Я что-то пропустил?

Мне все еще нужен надежный способ заблокировать Alt + F4, а также другие системные клавиши. Однако другие горячие клавиши: CTRL + W, CTRL + N, CTRL + S, CTRL + A, CTRL + C, CTRL + X, CTRL + V, CTRL + B, CTRL + F и CTRL + H были успешно заблокированы в Windows. 10 и 8.1.

Полезная информация

Стоит отметить, что этот код был скомпилирован (Build> Publish), установлен и запущен на W8.1.Alt + F4 был успешно заблокирован ... как-то. Тем не менее, две другие системные горячие клавишиAlt + Tab а такжеДомой + Вверх не зарегистрироваться по той же причине:"1409" - «Горячий ключ уже зарегистрирован».Работа в режиме совместимости с W8 на W10 не дает того же результата, что и на W8.1.Я запускаю приложение в режиме администратора.Alt + F4 - только одна из многих системных клавиш, которые я хочу отключить. Это не единственный.

Ответы на вопрос(0)

Ваш ответ на вопрос