Пока рано давать отрицательный ответ в контексте отказа от использования какого-либо стороннего продукта, но вот результаты моего исторического исследования, которое может помочь в продвижении по этому вопросу.
Решение сделать Alt-Tab чрезвычайно сложным для перехвата было принято в Windows NT. Статья, описывающая то, что было сделано, исчезла из Интернета, но я нашел старое издание на Wayback Machine, датированное декабрем 2003 года.
Поскольку это так трудно найти, я воспроизвожу это здесь как изображение:
Три решения, перечисленные разработчиками Microsoft (начиная с того времени, когда они все еще отвечали на пользовательские запросы):
- Модификация ядра Windows, то есть Windows DLL (я не собираюсь).
- Зарегистрируйтесь для получения горячих клавиш с помощью функции API RegisterHotKey, что можно сделать, только вставляя DLL-библиотеку в игру во время выполнения, поэтому вы можете быть серьезно забанены на всю жизнь.
- Создайте общесистемный хук клавиатуры, как это делает AutoHotKey, что, как вы говорите, может также вас заблокировать.
Если верить оригинальным разработчикам NT, то это единственные варианты, из которых единственно реалистичным решением является такая программа, как AutoHotKey.
Со своей стороны я не вижу другого решения, но, возможно, кто-то еще знает о каком-то другом умном взломе.
Скрипт AutoHotKey для отключения Alt-Tab:
#IfWinActive Counter-Strike: Global Offensive
LAlt & Tab::
return
Вы должны поставить правильный заголовок в команду #IfWinActive
, чтобы Alt-Tab можно было отключить только тогда, когда игра находится в фокусе.
Для игр, которые используют низкоуровневый доступ к клавиатуре, сценарий может быть запущен от имени администратора.