Перейти к содержимому

Как отключить alt f4 в windows 10

  • автор:

Как отключить горячие клавиши Windows

Как отключить горячие клавиши Windows

Горячие клавиши ОС Windows 7, 8, а теперь и Windows 10 сильно облегчают жизнь тем, кто помнит о них и привык использовать. Для меня наиболее часто используемыми являются Win+E, Win+R, а с выходом Windows 8.1 — Win+X (под Win подразумевается клавиша с эмблемой Windows, а то часто в комментариях пишут, что нет такой клавиши). Однако у кого-то может появиться желание отключить горячие клавиши Windows, и в этой инструкции я покажу, как это сделать.

Отключение клавиши Windows с помощью редактора реестра

Для того, чтобы отключить клавишу Windows на клавиатуре компьютера или ноутбука, запустите редактор реестра. Быстрее всего это сделать (пока горячие клавиши работают) нажав комбинацию Win+R, после чего появится окно «Выполнить». В него вводим regedit и нажимаем Enter.

Запуск редактора реестра

Отключение клавиши Windows на клавиатуре

  1. В реестре откройте раздел (так называются папки слева) HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer (Если в Policies нет папки Explorer, то кликните по Policies правой кнопкой мыши, выберите «Создать раздел» и назовите его Explorer).
  2. С выделенным разделом Explorer, кликните правой кнопкой мыши в правой области редактора реестра, выберите «Создать» — «Параметр DWORD 32 бита» и назовите его NoWinKeys.
  3. Дважды кликнув по нему, установите значение 1.

После этого вы можете закрыть редактор реестра и перезагрузить компьютер. Для текущего пользователя клавиша Windows и все связанные с ней комбинации клавиш работать не будут.

Отключение отдельных горячих клавиш Windows

Если вам требуется отключить конкретные горячие клавиши с участием кнопки Windows, то вы тоже можете это сделать в редакторе реестра, в разделе HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced

Зайдя в данный раздел, кликните правой кнопкой мыши в области с параметрами, выберите «Создать» — «Расширяемый строковый параметр» и назовите его DisabledHotkeys.

Отключение отдельных горячих клавиш

Дважды кликните по данному параметру и в поле значение введите буквы, горячие клавиши для которых будут отключены. Например, если вы введете EL то перестанут работать комбинации Win+E (запуск Проводника) и Win+L (Блокировка экрана).

Нажмите Ок, закройте редактор реестра и перезагрузите компьютер, чтобы изменения вступили в силу. В дальнейшем, если нужно будет вернуть все как было, просто удалите или измените созданные вами параметры в реестре Windows.

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Как отключить или удалить Связь с телефоном в Windows 11 и 10
  • Ошибка 0xc000001d при запуске игры или программы — как исправить?
  • Ключ восстановления BitLocker в Windows — способы посмотреть
  • User OOBE Broker — что это за процесс в Windows 11 и 10
  • Ошибка 0x803F8001 в Microsoft Store, играх и приложениях — как исправить?
  • Windows 11
  • Windows 10
  • Android
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Установка с флешки
  • Настройка роутера
  • Всё про Windows
  • В контакте
  • Одноклассники

    александр 03.08.2015 в 04:10

  • Антон 31.07.2020 в 06:57
  • azx 09.03.2021 в 18:18

Изменить параметры выключения по умолчанию в Alt + F4 в Windows 10

Работа с Windows 10 в наши дни становится довольно простой, благодаря доступным трюкам и настройкам. Все мы видели, что с каждым новым основным выпуском ОС Windows развивается. Но больше всего нам не хватает основных настроек, которые мы использовали, когда Windows XP была на пике. В этой статье я покажу вам, как изменить параметры выключения по умолчанию в диалоговом окне Alt + F4 в Windows 10.

Сочетание клавиш Alt + F4 является одним из наиболее часто используемых сочетаний клавиш в среде Windows. Если кто-то знает, как управлять системой с помощью ярлыков, он / она может легко справиться с этим, даже не касаясь мыши. Эти ярлыки просты в использовании и ускоряют нашу работу. При использовании Alt + F4 открывается диалоговое окно с перезапуском (или любым другим) в качестве предварительно выбранной опции. Сегодня мы увидим, как изменить его на Shutdown по умолчанию.

Изменить параметры выключения по умолчанию в Alt + F4

Не имеет значения, есть ли много других способов выключения системы, Alt + F4 остается любимым для всех. Помните, что метод, который мы собираемся выполнить сегодня, требует некоторых изменений в реестре Windows, поэтому не изменяйте ничего, что не упомянуто в методах ниже.

1] Использование реестра Windows

Нажмите клавиши Win + R , появится диалоговое окно «Выполнить». Введите regedit и нажмите Enter.

Перейдите в реестр:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Щелкните правой кнопкой мыши по дереву расширенного реестра и нажмите «Создать». Теперь выберите DWORD (32-битное) значение.

Назовите его как Start_PowerButtonAction. Он будет управлять действием по умолчанию в диалоговом окне выключения.

Дважды щелкните по вновь созданному мечу.

Теперь введите данные значения как 2, чтобы сделать «Завершение работы» в качестве действия по умолчанию. Выберите Base как десятичное число.

Чтобы сделать любой другой вариант по умолчанию, вы можете использовать:

  • 4 сделать Перезапуск как действие по умолчанию
  • 256, чтобы переключить пользователя в качестве действия по умолчанию
  • 1 сделать Зарегистрируйтесь из в качестве действия по умолчанию
  • 16, чтобы сделать сон в качестве действия по умолчанию
  • 64, чтобы сделать Hibernate как действие по умолчанию.

Примечание: вы можете сделать Sleep и Hibernate доступными на панели управления.

Имейте в виду, что вы можете использовать этот метод в качестве администратора для каждого пользователя системы. Чтобы сделать его доступным только для пользователя, это делается путем входа в систему от имени этого пользователя и применения вышеуказанного метода.

2] Использование локальной групповой политики

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

Откройте меню «Пуск» и введите «Изменить групповую политику».

Нажмите на приложение, чтобы открыть его.

На левой панели разверните дерево Административные шаблоны в разделе Конфигурация пользователя.

Теперь выберите меню «Пуск» и панель задач.

В окне настроек дважды щелкните кнопку питания «Изменить меню пуск».

Нажмите «Включено» и выберите «Выключение» в раскрывающемся списке в окне «Параметры».

Нажмите Применить, а затем нажмите ОК.

Этим способом вы можете легко изменить действие по умолчанию для диалогового окна ALt + F4.

Обязательно перезапустите систему, чтобы эти изменения вступили в силу.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

How to disable Alt+F4 shutdown in Windows 10?

I have a HyperX keyboard which has a «gaming mode» that can be configured to disable a bunch of game breaking hotkeys like «Alt — F4» and the Windows key.

May 8, 2023 at 15:16

If you don’t need F4, remove the key. If you just want to prevent accidentally shutting Windows, put foam plastic under the F4 key so it requires more pressure. No extra software needed. N.B. While one could remap the F4 key, that applies to all applications, so one could not shut an app with Alt-F4.

May 8, 2023 at 16:12
@DrMoishePippik, OP wrote «or closing an application» so that’d be desired for him.
May 8, 2023 at 16:16

@YisroelTech, thanks for pointing that out. He could use epoxy under the key, too. 😉 (Actually, that is the technique used to prevent some PC’s from using USB — filling the port.)

May 8, 2023 at 16:29

5 Answers 5

You should be able to use any Keyboard Remapper to do that.

(TBH, they are obviously simpler than AutoHotkey intercepting the key press, but they’d still be a utility running on the system, so not sure if it’s good enough for you.)

I like the Keyboard Manager that comes as part of Microsoft PowerToys (which packs a buncha other neat little optional utilities):

  1. Go to Microsoft PowerToys Settings > Keyboard Manager
  2. Choose Remap a shortcut
  3. Select Alt + F4 from Physical Shortcut:, and select Disable for Mapped to:

enter image description here

answered May 8, 2023 at 15:32
Yisroel Tech Yisroel Tech
10.3k 3 3 gold badges 25 25 silver badges 39 39 bronze badges

I am not sure if there is such an option.

If something is stuck and and Start, Shutdown is not available, or the screen does not show up, then Alt F4 is an orderly shut down whereas the power button forces a shutdown regardless of consequences.

I strongly suggest you leave Alt F4 as is.

answered May 8, 2023 at 15:17
48.4k 4 4 gold badges 38 38 silver badges 59 59 bronze badges
Ctrl+Alt+Delete is usually better for that
May 8, 2023 at 15:21
Is there not a way to simply map the shutdown hotkey to a different Alt+F? hotkey?
May 8, 2023 at 16:39

If you wish to change the default action of Alt+F4 from Shutdown to another, do this :

  • Run regedit
  • Go to the registry key HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer
  • Right-click some blank space and select New -> DWORD (32-bit) Value
  • Name the item PowerButtonAction and give it one of the following values:
    • 1 = Sign out
    • 2 = Shut down
    • 4 = Restart
    • 10 = Sleep
    • 40 = Hibernate
    • 100 = Switch user

    To set AutoHotKey to «steal» the key combination from Windows and send it to the application, you may use this script:

    !F4::SendPlay, !

    However, I don’t have an application that reacts to Alt+F4, but I did test that it doesn’t terminate applications any more.

    answered May 8, 2023 at 16:27
    469k 31 31 gold badges 553 553 silver badges 959 959 bronze badges

    I should have clarified further — I actually want to use Alt+F4 for a hotkey in another application, but the action of Windows trying to close the application and shut down the system is getting in my way. If I could remap the hotkey in Windows to something like Alt+F12, that’d be acceptable. I don’t really want to remap the Alt+F4 to a variant of shutdown, like signing out.

    May 8, 2023 at 16:39

    In that case using AHK is your best bet by far, no idea why you don’t want to use it, but including a reasoning in the question would be welcome.

    May 8, 2023 at 16:47
    I added an AHK script that might do something useful, but I can’t test it.
    May 8, 2023 at 16:56

    @Destroy666 .. have you considered the load of having auto hot key running and evaluating all that it does? I myself am a minimalist and don’t want more background tasks than I need.. especially ones evaluating every key stroke and window creation via hook and or pooling. That’s just me but that is indeed a reason. Total respect for you.. just giving a different point of view.

    May 8, 2023 at 17:12
    @SatoshiNakamoto: See AutoHotkey #IfWinActive.
    Sep 6, 2023 at 7:14

    There are some great answers here.. but if you literally want to disable the ALT-F4 key from functioning without a hack, you can do the same thing I do for disabling my caps lock key.

    It involves a simple registry edit to change the way Windows will interpret (and in this case ignore) the keys as they are coming in.

     Windows Registry Editor Version 5.00 ; Disable Left & Right ALT keys and F4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,00,00,3e,00,00,00,38,00,00,00,38,e0,00,00,00,00 

    Save this text as a .reg file and run it followed by a reboot.
    Problem solved.

    Also.. source is here .. not that anyone couldn’t have done this but I didn’t need to lookup the scan key codes.. I just used the material I referenced.

    Отключение ctrl-alt-delete, alt-tab, Пуск и прочих сочетаний

    Это вольный перевод статьи с сайта tamas.io о программном отключении и включении горячих клавиш Windows средствами C#. Совсем недавно мне самому понадобились подобные функции в моей программе и я с удивлением обнаружил, что в рунете ничего об этом нет, да и вообще в сети об этом сказано совсем немного. Так что, если интересно или также нужно, как было мне — добро пожаловать!

    Я написал эту статью в 2007 году и она до сих пор ходит по сети и упоминается в различных обсуждениях, включая StackOverflow и DotNetSpider, так что я решил вновь опубликовать её. Это было актуально уже тогда и не было проверено на Windows 7, в силу того, что её на тот момент просто не существовало физически.
    Перед тем, как продолжить чтение, прошу, обратите внимание на то, что эта статья вовсе не призывает вас создавать вредоносные приложения. Вы можете использовать приведённый код в целях обучения или для развлечения.

    После небольшого исследования по отключению клавиш и их сочетаний я узнал, что есть несколько способов изменения поведения ранее упомянутых ключевых комбо.

    Не волнуйтесь, мы не будем рассматривать их здесь, но я покажу, как с ними работать.

    Используем возможности редактирования реестра C#, чтобы установить / изменить групповую политику для последовательности клавиш CTRL-ALT-DEL. Давайте посмотрим, что можно сделать не написав ни строчки кода. Откройте «Пуск -> Выполнить» и наберите gpedit.msc. Перейдите к: Конфигурация пользователя> Административные шаблоны> Система>Варианты действий после нажатия CTRL-ALT-DEL (User Configuration > Administrative Templates > System > CTRL+ALT+DELETE Options). Это то место, где стандартным способом можно установить действие, которое будет вызвано нажатием этого комбо. Дважды щёлкните по «Удалить диспетчер задач» (Remove Task Manager). Изменение этого параметра меняет значение в Software\Microsoft\Windows\CurrentVersion\Policies\System и значение DisableTaskMgr получит значение 1.

    Теперь задача стала яснее.

    Важно, не пропустите эту строку:

    using Microsoft.Win32;

    Метод, который я написал, выглядит следующим образом:

    public void KillCtrlAltDelete() < RegistryKey regkey; string keyValueInt = "1"; string subKey = @"Software\Microsoft\Windows\CurrentVersion\Policies\System"; try < regkey = Registry.CurrentUser.CreateSubKey(subKey); regkey.SetValue("DisableTaskMgr", keyValueInt); regkey.Close(); >catch (Exception ex) < MessageBox.Show(ex.ToString()); >>

    Таким образом, мы позаботились об изменении значения комбинации CTRL-ALT-DEL. Рассмотрим остальные сочетания. Возможно, вам могло показаться это сложным, но это проще простого. Как отключить ALT + F4? Всего 5 строк кода:

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)

    Хорошо. Об остальном пришлось много читать и сейчас будет трудно назвать точно те статьи, которые мне помогли разобраться, но из всех было штук 15, которые содержали хоть какую-то полезную информацию. Я дам вам метод, который называется хук. Фрагмент кода использует LowLevelKeyboardProc, который:

    Процедура LowLevelKeyboardProc — это программно определённая или библиотечно определённая процедура вызова функции, используемая совместно с функцией SetWindowsHookEx. Система вызывает эту функцию каждый раз, когда событие ввода с клавиатуры вот-вот будет размещено в очереди потока ввода. Ввод с клавиатуры может пройти через драйвер или через вызовы функции keybdevent. Если вызов произошёл через вызов keybdevent, то он был «введён» (injected). Тем не менее, хук WHKEYBOARDLL не внедряется в другой процесс. Вместо этого, контекст переключается на другой процесс, на который установлен хук и вызывается в первоначальном виде. Затем, контекст переключается обратно на приложение, которое вызвало это событие.

    И снова, не забудьте:

     using System.Runtime.InteropServices; using System.Security.Principal; using System.Diagnostics; 

    Здесь всё остальное, что может ещё вам пригодиться:

     [DllImport("user32", EntryPoint = "SetWindowsHookExA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int SetWindowsHookEx(int idHook, LowLevelKeyboardProcDelegate lpfn, int hMod, int dwThreadId); [DllImport("user32", EntryPoint = "UnhookWindowsHookEx", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int UnhookWindowsHookEx(int hHook); public delegate int LowLevelKeyboardProcDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); [DllImport("user32", EntryPoint = "CallNextHookEx", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int CallNextHookEx(int hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); public const int WH_KEYBOARD_LL = 13; /*code needed to disable start menu*/ [DllImport("user32.dll")] private static extern int FindWindow(string className, string windowText); [DllImport("user32.dll")] private static extern int ShowWindow(int hwnd, int command); private const int SW_HIDE = 0; private const int SW_SHOW = 1; public struct KBDLLHOOKSTRUCT < public int vkCode; public int scanCode; public int flags; public int time; public int dwExtraInfo; >public static int intLLKey; public int LowLevelKeyboardProc(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam) < bool blnEat = false; switch (wParam) < case 256: case 257: case 260: case 261: //Alt+Tab, Alt+Esc, Ctrl+Esc, Windows Key, blnEat = ((lParam.vkCode == 9) && (lParam.flags == 32)) | ((lParam.vkCode == 27) && (lParam.flags == 32)) | ((lParam.vkCode == 27) && (lParam.flags == 0)) | ((lParam.vkCode == 91) && (lParam.flags == 1)) | ((lParam.vkCode == 92) && (lParam.flags == 1)) | ((lParam.vkCode == 73) && (lParam.flags == 0)); break; >if (blnEat == true) < return 1; >else < return CallNextHookEx(0, nCode, wParam, ref lParam); >> public void KillStartMenu() < int hwnd = FindWindow("Shell_TrayWnd", ""); ShowWindow(hwnd, SW_HIDE); >private void Form1_Load(object sender, EventArgs e)

    Совершенно очевидно, что вы можете программно вернуть все значения, вновь включив все сочетания:

     public static void ShowStartMenu() < int hwnd = FindWindow("Shell_TrayWnd", ""); ShowWindow(hwnd, SW_SHOW); >public static void EnableCTRLALTDEL() < try < string subKey = @"Software\Microsoft\Windows\CurrentVersion\Policies\System"; RegistryKey rk = Registry.CurrentUser; RegistryKey sk1 = rk.OpenSubKey(subKey); if (sk1 != null) rk.DeleteSubKeyTree(subKey); >catch (Exception ex) < MessageBox.Show(ex.ToString()); >> private void Form1_FormClosing(object sender, FormClosingEventArgs e)

    Я надеюсь, вам понравилась статья и вы нашли в ней что-то полезное. Я постарался собрать здесь всю информацию, которую только смог найти по этой теме.

    От себя дополню, что в .NET4 код вида:

     intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]).ToInt32(), 0); 

    Не работает. Нужно писать что-то типа:

     var inst = LoadLibrary("user32.dll").ToInt32(); intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, inst, 0); 

    Ну и в начало кода структуры AddHooks, среди прочего импорта сделать:

     LoadLibrary: [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)] public static extern IntPtr LoadLibrary(string lpFileName); 

    Надеюсь, перевод получился не совсем плох и окажется кому — либо полезен.
    UPD: Ссылка на законченную рабочую программу.

    • hotkeys
    • windows
    • c#.net
    • отключение ненужных функций

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *