Your access to this site has been limited by the site owner
If you think you have been blocked in error, contact the owner of this site for assistance.
If you are a WordPress user with administrative privileges on this site, please enter your email address in the box below and click «Send». You will then receive an email that helps you regain access.
Block Technical Data
Block Reason: | Access from your area has been temporarily limited for security reasons. |
---|---|
Time: | Sat, 9 Dec 2023 8:46:32 GMT |
About Wordfence
Wordfence is a security plugin installed on over 4 million WordPress sites. The owner of this site is using Wordfence to manage access to their site.
You can also read the documentation to learn about Wordfence’s blocking tools, or visit wordfence.com to learn more about Wordfence.
Click here to learn more: Documentation
Generated by Wordfence at Sat, 9 Dec 2023 8:46:32 GMT.
Your computer’s time: .
Как не допустить, чтобы клавиша Windows, Alt + Tab и Sticky Keys испортили вашу игру
Windows предназначена для настольного использования, а не для игр. Клавиша Windows, Alt + Tab и другие опции клавиатуры, такие как Sticky Keys, вырвут вас из полноэкранных игр и вернутся на ваш рабочий стол — но вы можете отключить их.
Мы видели клавиатуры с отключенной клавишей Windows и специальные игровые клавиатуры, в которых в качестве функции указана надпись «без ключа Windows». Эти аппаратные трюки не нужны — вы можете полностью отключить эти неприятные ключи в программном обеспечении.
Отключить ключ Windows
Постоянное отключение вашего ключа Windows не идеально. Это очень полезно для быстрого открытия меню «Пуск», использования поиска Windows и выполнения множества различных сочетаний клавиш. Вот почему мы рекомендуем метод AutoHotkey ниже — вы можете отключить ключ Windows только во время игры.
Вы также можете использовать другие методы для отключения ключа Windows . Например, вы также можете использовать SharpKeys, чтобы переназначить ключ Windows на другой ключ или изменить значение карты сканкода в реестре самостоятельно.
Отключить Alt + Tab, Windows Key + Tab и другие сочетания клавиш
Другие ярлыки также могут быть неприятными. Нажатие Alt + Tab или Windows Key + Tab откроет переключатель приложений, который выведет вас из игры. Мы не можем отключить эти ярлыки в реестре, но мы успешно использовали AutoHotkey, чтобы отключить Alt + Tab, Windows Key + Tab и сам ключ Windows.
Сначала скачайте и установите AutoHotkey . Откройте его и нажмите «Файл»> «Редактировать скрипт».
Удалите содержимое скрипта AutoHotkey по умолчанию и добавьте содержимое ниже. Строки начинающиеся с; не нужны — это строки комментариев, которые ничего не делают, но объясняют, что делает скрипт. Если вы хотите отключить только некоторые ярлыки, вы можете выбрать, какие строки вы хотите включить в свой скрипт.
; Отключить Alt + Tab
! Tab :: Вернуться; Отключить Windows Key + Tab
#Tab :: Возвращение; Отключить левую клавишу Windows
LWin :: Возвращение; Отключить правый ключ Windows
RWin :: Возвращение
Не стесняйтесь посмотреть, как работает AutoHotkey, и добавьте другие сочетания клавиш, которые вы хотите игнорировать. Если есть другая клавиша или комбинация клавиш, которая беспокоит вас, AutoHotkey может позаботиться об этом.
Сохраните его в блокноте и нажмите «Файл»> «Обновить скрипт» в AutoHotkey. AutoHotkey будет захватывать сочетания клавиш и заставлять их вообще ничего не делать при нажатии на них. AutoHotkey автоматически загружает этот скрипт при каждом его запуске.
Если вы не играете в игру, вы можете нажать «Файл»> «Приостановить горячие клавиши» в AutoHotkey. AutoHotkey отпустит клавиши, чтобы вы могли нормально использовать клавиши Windows, Alt + Tab и другие сочетания клавиш. Вы также можете просто выйти из AutoHotkey и запустить его перед началом игры.
Вы можете настроить AutoHotkey на захват только этих клавиш во время использования определенного приложения — однако вам придется добавлять каждую игру, в которую вы играете, в список.
Отключить липкие клавиши
Нажмите клавишу Shift пять раз подряд, и вы увидите подсказку Sticky Keys . Это разработано, чтобы помочь людям с физическими недостатками, но неудобно, если вы просто хотите нажать Shift с миром.
Чтобы отключить всплывающее окно Sticky Keys, нажмите клавишу Shift пять раз подряд, чтобы открыть диалоговое окно Sticky Keys. Если всплывающее окно не появляется, вы уже отключили его. Нажмите на ссылку «Перейти в центр доступа, чтобы отключить сочетание клавиш».
В открывшемся окне «Настройка Sticky Keys» снимите флажок «Включить Sticky Keys при пятикратном нажатии клавиши SHIFT» и нажмите OK.
Отключить ключи фильтра
Фильтр ключей работает аналогично. Чтобы открыть диалоговое окно Filter Keys, удерживайте правую клавишу Shift в течение восьми секунд. Нажмите на ссылку «Перейти в центр доступа, чтобы отключить сочетание клавиш».
Снимите флажок «Включить ключи фильтра, когда правая клавиша SHIFT удерживается в течение 8 секунд» и нажмите «ОК».
Удерживайте нажатой клавишу Num Lock в течение пяти секунд, и вы увидите всплывающее окно Toggle Keys. Ключи-переключатели можно отключить таким же образом, но гораздо менее вероятно, что вы наткнетесь на них. Большинство игроков не удерживают клавишу Num Lock по какой-либо конкретной причине.
Отключение 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
- отключение ненужных функций
Блокировка комбинации клавиш Alt+Tab
Это можно сделать путем модифицирования системного реестра.
Ты сможешь лишь 85%
1. Запустите редактор системного реестра (REGEDIT.EXE).
2. Перейдите к разделу HKEY_CURRENT_USER\Control Panel\Desktop.
3. Дважды щелкните на записи CoolSwitch.
4. Присвойте ей значение 0 и щелкните на кнопке OK.
5. Закройте редактор системного реестра.
Для вступления изменений в силу необходимо перезагрузить компьютер.
Кому нужна эта Винда? Нам нужны бабки за 180 секунд!
Тут для особенных:
- Отключаем всплывающее сообщение от принтера
- Доступ к журналу безопасности
- Отключаем звук модема при подключении
- Описание записей ErrorControl, Start и Type
Конфигурация диалогового окно, вызываемого с Alt+Tab
Меняем размеры значков на рабочем столе Windows
3 Comments
МоноброФь
27 May 2011
Лож! это не работает 100%
Mira
28 May 2011
Это у тебя криворукого. У меня работает (хз правда зачем надо, но функция забавная)
Евгений
28 Aug 2011
вот понадобилось отключить на время, чтобы можно было повесить сочетание клавиш на мышку, но данная инструкция не помогла, есть ли особенности для Windows 7 ?
В разделе HKEY_CURRENT_USER\Control Panel\Desktop запись CoolSwitch не нашел, но нашел две похожие: CoolSwitchColumns, CoolSwitchRows. Пробывал менять имеющиеся на нуль и обратно возвращал. Пробовал создать новую запись с именем CoolSwitch и значением 0.. и ничего! Перезагрузки делал каждый раз.
ЗЫ: в разделе по Windows 7 подобной статьи не нашел. (мб плохо искал?)
Leave a Reply Cancel reply
VsDesk: cистема управления заявками для управления бизнес процессами
Работа в любой компании подразумевает коллективный труд. Это не гимн индивидуальностей, но единая система взаимодействия.
Продвижение сайта по ключевым словам
Продвижение сайта по ключевым словам – это комплекс мероприятий, направленный на достижение web-ресурсом высоких позиций в
Что беспокоит детей при посещении интернета
В обществе все чаще поднимаются вопросы, связанные с защитой детей во время их посещения интернета от негативного влияния.Ты