Создание пользовательских сочетаний клавиш для всего в windows 10

8 Два нюанса скриптов AutoHotkey

Иногда нужно запускать скрипт от имени администратора

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

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

Решение: скомпилируйте скрипт в .exe программу и добавьте ее через системный Планировщик заданий. Вы найдете эту программу через меню Пуск. В её окне смотрите справа раздел «Действия» — жмите пункт «Создать задачу». Затем:

  1. Вкладка «Общие»: «Имя» — любое, поставьте галку на «Выполнить с наивысшими правами».
  2. Вкладка «Триггеры»: «Создать» — «При входе в систему» — выберите своего пользователя — ОК.
  3. Вкладка «Действия»: «Создать» — укажите путь до скомпилированного скрипта — ОК.

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

Сетевые игры и AutoHotkey несовместимы

Существуют целые сообщества любителей скриптов, упрощающих действия в играх и даже ломающих игровые механики. Особо «полезные» скрипты умудряются продавать, но речь не об этом.

Если у вас будет запущен скрипт AutoHotkey в то время, как вы играете в игру с античит-системой, велика вероятность получить бан. Вам даже не требуется нажимать кнопки, на которые назначены скрипты — бан произойдет по другой причине. Как я объяснил выше, для отслеживания нажатия скрипту требуется внедриться в процесс. Для сетевых игр, как правило, такое действие равнозначно читерству, поэтому бана не избежать.

Кто-то мне может возразить, что у него AutoHotkey или какое-то другое средство автоматизации во время игр работает без последствий — насчет этого спорить не буду, потому что игр разных много, от нечистоплотных пользователей защищаются разными способами. Моя позиция такова: бан за факт использования AutoHotkey — это глупость, потому что без них тяжело или невозможно играть людям с ограниченными возможностями.

6 Идём дальше: разные действия в зависимости от окон

На этом я не успокоился. Во-первых, из-за дублирования кода получается слишком много строк. Если я захочу использовать имитацию большего количества клавиш, скрипт станет несуразно длинным. Во-вторых, я хочу разное поведение в разных программах. Значит, нужно добавлять дополнительные проверки, что сделает код ещё более запутанным.

Проведем небольшой рефакторинг: вынесем имитацию физический клавиатуры в функцию ImitateKey.

XButton1::
ImitateKey("{Volume_Down}", "XButton1")
Return

XButton2::
ImitateKey("{Volume_Up}", "XButton2")
Return

ImitateKey(MyKeySend, MyKeyWait) {
Send %MyKeySend%
Sleep 500
Loop
{
If !GetKeyState(MyKeyWait,"p")
{
Break
} else {
Sleep 50
Send %MyKeySend%
}
}
}

Теперь за имитацию отвечает отдельная функция ImitateKey, в свойства которой можно передавать коды клавиш. Теперь можно усложнить скрипт, добавив проверку имени активного окна, чтобы слать разные клавиши. Скрипт ниже будет выполнять разные действия в зависимости от контекста, в данном случае активного окна:

  • Affinity Photo — вызываются клавиши Ctrl+= и Ctrl+-, регулирующие масштаб открытой фотографии.
  • Google Chrome — клавиши Ctrl+= и Ctrl+- регулируют масштаб страницы.
  • Visual Studio Code — клавиши Ctrl+C и Ctrl+V отвечают за копирование и вставку программного кода в редакторе.
  • Если открыто что-то другое — регулируется громкость.

На основе этого скрипта можно создавать свои варианты.

XButton1::
WinGetActiveTitle, Title
if Title contains Affinity Photo,Google Chrome
{
ImitateKey("^-", "XButton1")
Return
}
else if Title contains Visual Studio Code
{
ImitateKey("^c", "XButton1")
Return
}
else
{
ImitateKey("{Volume_Down}", "XButton1")
Return
}

XButton2::
WinGetActiveTitle, Title
if Title contains Affinity Photo,Google Chrome
{
ImitateKey("^=", "XButton2")
Return
}
else if Title contains Visual Studio Code
{
ImitateKey("^v", "XButton2")
Return
}
else
{
ImitateKey("{Volume_Up}", "XButton2")
Return
}

ImitateKey(MyKeySend, MyKeyWait) {
Send %MyKeySend%
Sleep 500
Loop
{
If !GetKeyState(MyKeyWait,"p")
{
Break
} 
else 
{
Sleep 50
Send %MyKeySend%
}
}
}

В коде вы увидите слишком много скобок, поэтому еще раз напомню: для редактирования .ahk файлов советую использовать бесплатный Notepad3, там работает подсветка синтаксиса.

4 — Running Programs & Websites

To run a program such as mspaint.exe, calc.exe, script.ahk or even a folder, you can use the Run command. It can even be used to open URLs such as https://www.autohotkey.com/ . If your computer is setup to run the type of program you want to run, it’s very simple:

; Run a program. Note that most programs will require a FULL file path:
Run, %A_ProgramFiles%\Some_Program\Program.exe

; Run a website:
Run, https://www.autohotkey.com

There are some other advanced features as well, such as command line parameters and CLSID. If you want to learn more about that stuff, visit the Run page.

Here are a few more samples:

; Several programs do not need a full path, such as Windows-standard programs:
Run, notepad.exe
Run, mspaint.exe

; Run the "My Documents" folder using a :
Run, %A_MyDocuments%

; Run some websites:
Run, https://www.autohotkey.com
Run, https://www.google.com

For more in-depth information and examples, check out the Run page.

Как изменить язык клавиатуры (и раскладку) в Windows 11

Если на вашем компьютере или устройстве с Windows 11 установлено более одного языка клавиатуры, вы увидите значок с текущим выбранным языком на панели задач справа от панели задач. Так, например, если вы используете Windows 11 с английской клавиатурой, она должна отображать ENG, как показано на снимке экрана ниже.

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

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

Того же результата можно добиться, используя клавиатуру: одновременно нажмите Windows+пробел, чтобы отобразить то же меню раскладки клавиатуры. Затем продолжайте удерживать клавишу Windows и нажимайте клавишу пробела, чтобы переключиться на следующий язык в списке, пока не получите нужную раскладку клавиатуры.

Когда вы достигли нужной раскладки клавиатуры, отпустите обе клавиши и начните вводить текст, который вы хотите.

Используйте левый Alt+Shift, чтобы изменить язык клавиатуры (но не раскладку клавиатуры)

Еще один ярлык для изменения языка клавиатуры — левый Alt+Shift. Нажмите и удерживайте левую клавишу Alt, одновременно нажимая Shift, чтобы переключить активный язык ввода на следующий. Если вы удерживаете левую клавишу Alt и продолжаете нажимать Shift, вы переключаетесь с одного языка клавиатуры на другой.

Важно помнить, что вы можете переключать только язык ввода, а не раскладку клавиатуры. Например, на снимке экрана ниже вы можете переключаться только между английским (США) и испанским (Испания), потому что это были последние раскладки клавиатуры, использовавшиеся для каждого языка

Это сочетание клавиш не переключается между всеми раскладками клавиатуры, как Windows+пробел.

Используйте Ctrl+Shift, чтобы изменить раскладку клавиатуры для текущего языка.

Если вы используете нужный язык клавиатуры, но вам нужно изменить для него раскладку клавиатуры, нажмите Ctrl+Shift.

Опять же, этот ярлык работает только для переключения между раскладками клавиатуры, установленными для одного и того же языка. Удерживайте Ctrl и нажмите Shift, чтобы переключить раскладку на следующую. Чтобы лучше понять, как это работает, посмотрите анимацию ниже. Ярлык переключается между раскладками клавиатуры, которые я установил для испанского языка, но английский язык не выбран.

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

Alt-Tab Hotkeys

Alt-Tab hotkeys simplify the mapping of new key combinations to the system’s Alt-Tab hotkeys, which are used to invoke a menu for switching tasks (activating windows).

Each Alt-Tab hotkey must be either a single key or a combination of two keys, which is typically achieved via the ampersand symbol (&). In the following example, you would hold down the right Alt and press J or K to navigate the alt-tab menu:

RAlt & j::AltTab
RAlt & k::ShiftAltTab

AltTab and ShiftAltTab are two of the special commands that are only recognized when used on the same line as a hotkey. Here is the complete list:

AltTab: If the alt-tab menu is visible, move forward in it. Otherwise, display the menu (only if the hotkey is a combination of two keys; otherwise, it does nothing).

ShiftAltTab: Same as above except move backward in the menu.

AltTabMenu: Show or hide the alt-tab menu.

AltTabAndMenu: If the alt-tab menu is visible, move forward in it. Otherwise, display the menu.

AltTabMenuDismiss: Close the Alt-tab menu.

To illustrate the above, the mouse wheel can be made into an entire substitute for Alt-tab. With the following hotkeys in effect, clicking the middle button displays the menu and turning the wheel navigates through it:

MButton::AltTabMenu
WheelDown::AltTab
WheelUp::ShiftAltTab

To cancel the Alt-Tab menu without activating the selected window, press or send Esc. In the following example, you would hold the left Ctrl and press CapsLock to display the menu and advance forward in it. Then you would release the left Ctrl to activate the selected window, or press the mouse wheel to cancel. Define the window group as shown below before running this example.

LCtrl & CapsLock::AltTab
#IfWinExist ahk_group AltTabWindow  ; Indicates that the alt-tab menu is present on the screen.
*MButton::Send {Blind}{Escape}  ; The * prefix allows it to fire whether or not Alt is held down.
#If

If the script sent (such as to invoke the Alt-Tab menu), it might also be necessary to send as shown in the example further below.

General Remarks

Currently, all special Alt-tab actions must be assigned directly to a hotkey as in the examples above (i.e. they cannot be used as though they were commands). They are not affected by #IfWin or #If.

An alt-tab action may take effect on key-down and/or key-up regardless of whether the keyword is used, and cannot be combined with another action on the same key. For example, using both and is unsupported.

Custom alt-tab actions can also be created via hotkeys. As the identity of the alt-tab menu differs between OS versions, it may be helpful to use a window group as shown below. For the examples above and below which use , this window group is expected to be defined in the . Alternatively, can be replaced with the appropriate for your system.

GroupAdd AltTabWindow, ahk_class MultitaskingViewFrame  ; Windows 10
GroupAdd AltTabWindow, ahk_class TaskSwitcherWnd  ; Windows Vista, 7, 8.1
GroupAdd AltTabWindow, ahk_class #32771  ; Older, or with classic alt-tab enabled

In the following example, you would press F1 to display the menu and advance forward in it. Then you would press F2 to activate the selected window, or press Esc to cancel:

*F1::Send {Alt down}{tab} ; Asterisk is required in this case.
!F2::Send {Alt up}  ; Release the Alt key, which activates the selected window.
#IfWinExist ahk_group AltTabWindow
~*Esc::Send {Alt up}  ; When the menu is cancelled, release the Alt key automatically.
;*Esc::Send {Esc}{Alt up}  ; Without tilde (~), Escape would need to be sent.
#If

Связывая все это со структурами управления

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

В дополнение к директивам у вас также есть доступ к внутри блоков действий. В AHK есть циклы , блоки фигурных скобок, операторы и и многие другие. Вы можете получить доступ к внешним данным из блока действий и сохранить их в переменных или объектах для последующего использования. Вы можете определить пользовательские функции и метки. На самом деле, все, что вы могли бы легко сделать на другом языке программирования, вы, вероятно, можете сделать в AHK с небольшой головной болью и просмотром документов.

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

Одно можно сказать наверняка — ваш сценарий, вероятно, не будет красивым. Но ни AutoHotkey, и это нормально.

Язык скриптов — как писать скрипты самому

Писать сами файлики не сложно — достаточно понять паттерны языка. Если программировали на других языках — вообще изи.
Денёк разберетесь — и можно затачивать под себя файлик. Но даже без программирования — можно пользоваться моим скриптом — тоже ускорит вас значительно!

Функциональные клавиши в скрипте обозначаются так:табличка с обозначением зажималок (Ctrl, Shift)

Просто клавиши можно найти в приложении «AHK_Lx64 НАЙТИ_КЛАВИШУ»Пример: vk31 — это клавиша 1Пример кодов клавиш в самом скрипте

Паттерны и примеры программирования смотрим на сайтеhttps://komputer03.ru/avtomatizirujte-svoju-rabotu-s-autohotkey

Поиск-вики: ищем тут, а после в гуглhttps://ahk-wiki.ru/tutorial

Ещё примеры использования

Я чаше всего AHK использую в фоне (с автоматическим запуском в win), так как описал. Но есть еще примеры, которые находил на просторах инета:

  • GTA RP — написание длинных одинаковых текстов 1 клавишей https://www.youtube.com/results?search_query=ahk+gta+rp (чаше всего видосы по AHK в ютубе ради гта и делают)
  • Minecraft — добывания бесконечного булыжника на одном месте. Создаётся цикл: Зажать ЛКМ пару сек, подождать, зажать ЛКМ пару сек (я так использовал, иногда поигрываю ради ностальжи)
  • Запуск множества приложений 1-ой кнопкой и закрытие их (что б не счелкать ЛКМ много раз самому)
  • Просто любые ускорители работы (потенциал AHK ограничен вашей фантазией)

AutoHotkey Tutorial

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

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

Когда вы устанавливаете программу AutoHotKey, вы получаете возможность увидеть примеры скриптов в Блокноте. Это говорит, ШОУ ЧИТАТЬ. Если вы оставите флажок установленным и нажмете Готово после установки, откроется окно справки Windows, где вы сможете найти подробные инструкции по использованию программы.

ВАЖНО. Создайте сценарии в Блокноте и сохраните их с расширением .AHK, чтобы они работали

Выберите ВСЕ ФАЙЛЫ в поле «Тип» (второй раскрывающийся список под текстовым полем «Имя файла»). Он показывает *. * В соответствующем текстовом поле и там, вы должны ввести AHK вместо TXT. Если вы сохраните как TXT, скрипт не будет работать.

Как использовать скрипты AutoHotkey

Ниже приведено краткое руководство по использованию AutoHotkey.

Специальные клавиши (клавиши CTRL, ALT, SHIFT, WINDOWS)

Когда вы создаете сценарии, вы назначаете их на ключи. В большинстве случаев вы должны назначить их комбинации специальных клавиш, за которыми следуют обычные клавиши. Специальными клавишами в этом отношении являются WINDOWS KEY, CTRL, SHIFT и ALT. Вы можете использовать один или несколько специальных ключей для назначения ваших сценариев. Например, вы можете назначить сценарий комбинациям клавиш CTRL + SHIFT + S. В этом случае вам необходимо ввести специальные ключи в формате, предоставленном AutoHotKeys.

CTRL представлен ^

SHIFT представлен +

ALT представлен!

Ключ Windows представлен символом #

:: part завершает комбинацию горячих клавиш и скрипт следует

Для начала вам необходимо набрать специальную комбинацию клавиш, которая активирует созданный вами скрипт. Например, если вы хотите назначить CTRL + SHIFT + S для запуска Google, ваш скрипт будет выглядеть следующим образом:

 ^ + S :: Запустите google.com 

Специальные слова или команды

Чтобы запустить программу или веб-сайт, используйте RUN . Например, если вы создаете следующее:

! ^ F :: Запустить Блокнот 

С помощью приведенного выше сценария, когда вы нажимаете ALT + SHIFT + F, запускается Блокнот. RUN – это ключевое слово, которое помогает вам запустить программу или запустить веб-сайт. Другой пример ниже показывает, как горячая клавиша открывает Google в вашей программе по умолчанию, а затем запускает Блокнот.

 ^ + E ::
Запустите google.com
Запустить Блокнот
Возврат 

Все четыре строки выше – это один скрипт, который активируется с помощью сочетаний клавиш CTRL + SHIFT + E. Слово RETURN – это другое ключевое слово, которое указывает на конец сценария, когда вы используете несколько строк. Всякий раз, когда вы создаете сценарий с более чем одной строкой, вы должны использовать RETURN в конце сценария, чтобы AutoHotKey знал, что сценарий заканчивается здесь.

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

Еще одно ключевое слово, которое стоит использовать, это ОТПРАВИТЬ . Он отправляет нажатия клавиш в оболочку, и вы можете использовать его для создания таких вещей, как подписи и т. Д. См. Следующий пример.

В приведенном выше сценарии, когда я нажимаю CTRL + ALT + S, он вставляет С уважением , затем клавишу Enter (для изменения строки) и затем вставляет Арун Кумар . В приведенном выше примере показано, как ввести клавишу ВВОД. Клавиша ВВОД всегда включена в фигурные скобки {}.

Точно так же, если вы хотите ввести TAB, это должен быть {TAB}. Аналогично, пробел будет . Вам не нужно использовать для ввода пробела. Он будет автоматически заполнен пробелом при вводе клавиши пробела в сценарии, как в примере выше. В этом примере за Аруном следует пробел, а затем Кумар .

Это руководство не является исчерпывающим, но его достаточно для начала работы с программой для создания коротких сценариев AutoHotKey.

Теперь читайте . Отображение глобального списка горячих клавиш в Windows.

Debugging a Script

Commands such as ListVars and Pause can help you debug a script. For example, the following two lines, when temporarily inserted at carefully chosen positions, create «break points» in the script:

ListVars
Pause

When the script encounters these two lines, it will display the current contents of all variables for your inspection. When you’re ready to resume, un-pause the script via the File or Tray menu. The script will then continue until reaching the next «break point» (if any).

It is generally best to insert these «break points» at positions where the active window does not matter to the script, such as immediately before a WinActivate command. This allows the script to properly resume operation when you un-pause it.

The following commands are also useful for debugging: ListLines, KeyHistory, and OutputDebug.

Some common errors, such as typos and missing «global» declarations, can be detected by enabling warnings.

Interactive Debugging

Interactive debugging is possible with a supported DBGp client. Typically the following actions are possible:

  • Set and remove breakpoints on lines — pause execution when a breakpoint is reached.
  • Step through code line by line — step into, over or out of functions and subroutines.
  • Inspect all variables or a specific variable.
  • View the stack of running subroutines and functions.

Note that this functionality is disabled for compiled scripts.

To enable interactive debugging, first launch a supported debugger client then launch the script with the /Debug command-line switch.

AutoHotkey.exe /Debug=SERVER:PORT ...

SERVER and PORT may be omitted. For example, the following are equivalent:

AutoHotkey /Debug "myscript.ahk"
AutoHotkey /Debug=localhost:9000 "myscript.ahk"

: To attach the debugger to a script which is already running, send it a message as shown below:

ScriptPath := "" ; SET THIS TO THE FULL PATH OF THE SCRIPT
DetectHiddenWindows On
if WinExist(ScriptPath " ahk_class AutoHotkey")
    ; Optional parameters:
    ;   wParam  = the IPv4 address of the debugger client, as a 32-bit integer.
    ;   lParam  = the port which the debugger client is listening on.
    PostMessage DllCall("RegisterWindowMessage", "str", "AHK_ATTACH_DEBUGGER")

Once the debugger client is connected, it may detach without terminating the script by sending the «detach» DBGp command.

AutoHotkey — переназначение клавиш, макросы и автоматизация для Windows

Использование AutoHotkey — мощной бесплатной программы для автоматизации в Windows. Примеры использования для создания горячих клавиш и переназначения клавиш, автоматизации ввода, а также о других возможностях инструмента.

  • Живые обои на рабочий стол Windows 11 и Windows 10
  • Лучшие бесплатные программы на каждый день
  • Как скачать Windows 10 64-бит и 32-бит оригинальный ISO
  • Как смотреть ТВ онлайн бесплатно
  • Бесплатные программы для восстановления данных
  • Лучшие бесплатные антивирусы
  • Средства удаления вредоносных программ (которых не видит ваш антивирус)
  • Встроенные системные утилиты Windows 10, 8 и 7, о которых многие не знают
  • Бесплатные программы удаленного управления компьютером
  • Запуск Windows 10 с флешки без установки
  • Лучший антивирус для Windows 10
  • Бесплатные программы для ремонта флешек
  • Что делать, если сильно греется и выключается ноутбук
  • Программы для очистки компьютера от ненужных файлов
  • Лучший браузер для Windows
  • Бесплатный офис для Windows
  • Запуск Android игр и программ в Windows (Эмуляторы Android)
  • Что делать, если компьютер не видит флешку
  • Управление Android с компьютера
  • Syncthing — синхронизация файлов Windows, Linux, MacOS и Android
  • Память встроенной видеокарты Intel HD или Iris Xe, AMD Radeon — как посмотреть, увеличить или уменьшить
  • Файл открыт в System при удалении файла — как исправить?
  • Как открыть порты в Windows и посмотреть список открытых портов
  • Как добавить путь в переменную среды PATH в Windows
  • Как создать свою службу в Windows 11 и Windows 10
  • Как изменить тип сети Windows 11 — общественная или частная
  • WSCC — все системные утилиты Windows в одном интерфейсе
  • Как отключить обновления Windows 11
  • Как открыть Центр управления сетями и общим доступом в Windows 11
  • Как установить программу без прав Администратора в Windows
  • Shell Infrastructure Host — что это за процесс и почему он грузит процессор?
  • Telegram для Windows не показывает видео и фото — как исправить?
  • Ошибка DirectX function GetDeviceRemovedReason failed — как исправить
  • Как изменить пароль или ПИН-код Windows 11
  • Windows
  • Android
  • iPhone, iPad и Mac
  • Программы
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Ноутбуки
  • Wi-Fi и настройка роутера
  • Интернет и браузеры
  • Для начинающих
  • Безопасность
  • Ремонт компьютеров
  • Windows
  • Android
  • iPhone, iPad и Mac
  • Программы
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Ноутбуки
  • Wi-Fi и настройка роутера
  • Интернет и браузеры
  • Для начинающих
  • Безопасность
  • Ремонт компьютеров

Комментарии

Переназначение клавиши или кнопки мыши работает в следующих ситуациях:

  • Модификатор, например Control или Shift, удерживается в нажатом состоянии в то время, пока исходная клавиша приведет в действие модификатор для конечной клавиши. Например:

    b::a ; Имитирует Control-A, если нажать на Control-B.
    
  • Capslock работает для переназначенных клавиш так же, как и для обычных.
  • Конечная клавиша или кнопка мыши удерживается до тех пор, пока вы продолжаете удерживать исходную клавишу. Однако некоторые игры не поддерживают функцию переназначения, и в этих случаях клавиатура и мышка работают, как будто они не переназначены.
  • Переназначенные клавиши автоматически повторяются, пока их удерживают (исключая те клавиши, которые при переназначении становятся кнопками мыши).

Когда скрипт запускается, каждое переназначение преобразуется в пару горячих клавиш. Например, скрипт, содержащий a::b, дает тот же результат, что и скрипт, содержащий следующие две горячие клавиши:

*a:: 
SetKeyDelay -1
;Если переназначенной клавишей является кнопка мышки, вместо SetKeyDelay используется SetMouseDelay.
Send{Blind}{b down}
return

*a up::
SetKeyDelay -1
Send {Blind}{b up}
return

Однако эти горячие клавиши варьируются в зависимости от следующих обстоятельств:

  1. Когда исходной клавишей является клавиша LCtrl, а конечной клавишей — клавиша Alt, строчка Send {Blind}{Lalt down} заменяется на Send {Blind}{LCtrl up}{Lalt down}. То же самое происходит в случае, если исходной клавишей является RCtrl, за исключением того, что используется {RCtrl up}.
  2. Когда клавиша, будучи переназначенной, становится кнопкой мыши (например, RCtrl::RButton), первая горячая клавиша заменяется на следующее, что предотвращает возможность автоповторов клавиатуры от возникающих повторяющихся кликов мыши:

    *RCtrl::
    SetMouseDelay -1
    if not GetKeyState("RButton") ; т.е. правая кнопка мыши еще не нажата.
    	Send{Blind}{RButton down}
    return
    

С того момента, когда переназначение преобразовалось в горячие клавиши, как описано выше, их активизирует команда Suspend. Подобным образом команда Hotkey может блокировать или модифицировать переназначение. Например, следующие две команды будут блокировать переназначение a::b.

Hotkey, *a, off
Hotkey, *a up, off

Несмотря на то, что переназначенная клавиша может запускать обычную горячую клавишу, она не может запускать горячую клавишу мыши или перехваченную горячую клавишу (см. описание команды #UseHook). Например, если задано переназначение a::b, нажатие Ctrl-Alt-A будет запускать горячую клавишу ^!b, если это не перехваченная горячая клавиша. Если это перехваченная горячая клавиша, вы можете определить ^!a как горячую клавишу в том случае, если вы хотите, чтобы клавиши Ctrl-Alt-A выполняли то же действие, что и Ctrl-Alt-B. Например:

a::b
^!a::
^!b::
ToolTip Вы нажали %A_ThisHotkey%.
Return

Проблемы Alt-Tab: в случае, если какая-либо клавиша или кнопка мыши переназначена в Alt, эта клавиша, возможно, не будет работать в Alt-Tab должным образом. Единственным искусственным приемом является добавление горячей клавиши *Tab::Send {Blind}{Tab} — но нужно помнить, что, вероятно, это будет препятствием при реальном использовании клавиши Alt в Alt-Tab. Следовательно, это следует использовать только тогда, когда вы имитируете нажатие Alt-Tab исключительно с помощью переназначенных клавиш и/или с помощью приемов, описанных в статье «Горячие клавиши для мыши, джойстика и клавиатуры».

В добавление к списку клавиш и кнопок мыши в статье «Список клавиш и кнопок мыши/джойстика», исходная клавиша может также быть виртуальной клавишей (VKnn) или скан-кодом (SCnnn), как описано в той же статье. То же самое верно и для конечной клавиши, за исключением того, что она может при желании задавать скан-код после виртуальной клавиши. Например, sc01e::vk42sc030 является эквивалентом a::b в большинстве клавиатурных раскладок.

Для того, чтобы блокировать клавишу, а не производить переназначение, сделайте ее горячей клавишей просто при помощи return. Например, F1::return будет блокировать клавишу F1.

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

  • Колесико мыши (WheelUp и WheelDown).
  • Pause и Break в качестве конечных клавиш (так как они совпадают с названиями команд).
  • Знак процентов (%) в качестве конечной клавиши (вместо нее используется метод VK/SC, см. статью о команде Send).
  • «Return» в качестве конечной клавиши (вместо этого используется «Enter»).

Кроме того, клавиатура может использоваться для перемещения курсора мыши. Например, см. скрипт «Using Keyboard Numpad as a Mouse» в статье «Script Showcase» в оригинале справки.

Основные возможности

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

Плюсы и минусы

Плюсы:

  • автоматический запуск практически любых операций на ПК;
  • встроенный скриптовый язык;
  • переназначение любых клавиш;
  • поддержка разных устройств для вывода.

Минусы:

некоторые сложности в освоении.

Похожие программы

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

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

Как пользоваться приложением

Для того чтобы с помощью программы назначить автоматическое выполнение какого-либо действия, нужно создать скрипт. Он представляет собой всплывающее окно с пометкой «Я рогалег». С этой целью используем команду MsgBox, которую можно вызвать любым текстом. Надпись и команду необходимо вписать в любой текстовый редактор, так как сама программа как такового отдельного окна не имеет. Далее сохраняем файл, обязательно указав для него расширение «ahk». Скрипт будет выполнен при нажатии на него двойным щелчком.

Выполнение скрипта

При запуске скрипта появится значок «Autohotkey». Нажав на него правой кнопкой, вы сможете выбрать необходимые команды.

Выбор команд

Код, который должен автоматически выполняться при запуске скрипта, помещается вверху файла. Идентификаторы нужно указывать для горячих клавиш.
Рассмотрим, как это действует, на примере назначения автоматического запуска блокнота Notepad++ при нажатии определенных клавиш.
Для начала набираем «#n:: Run notepad++» и сохраняем файл. Дважды щелкаем по нему и набираем команду «Win+n». В области уведомления появится значок, а программа будет запущена при нажатии указанной комбинации клавиш.
В команде значок «#n» определяет кнопки, «::» — разделяет обозначения самих клавиш от команд. Остальные базовые кнопки обозначаются таким образом:

Обозначения кнопок

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

Написание собственных скриптов

Одна из основных функций Autohotkey – автозамена текста. Она позволяет задать сокращение символов для вывода полного текста. Например, если вам приходится каждый день отправлять по несколько одинаковых писем, вы можете ускорить этот процесс, создав для них единый шаблон.

Просто напечатайте два двоеточия, затем требуемое сочетание символов. Добавив еще два двоеточия, напечатайте полную фразу. Например, чтобы автоматически набирать адрес электронной почты, используйте такой сценарий:

::@@::ваш_адрес@домен.com

Запустив сценарий, вы сможете в любом приложении Windows автоматически выводить адрес электронной почты после набора на клавиатуре «@@» и пробела, точки или запятой.

Функция для создания шаблона электронного письма:

^!с::

Send Здравствуйте, Это шаблон письма.

return

При нажатии «Ctrl» + «Alt» + «С», автоматически появится весь текст.

Вторая основная функция AutoHotkey — переназначение кнопок, которыми вы не пользуетесь. Возможно, вы захотите, чтобы кнопка «Insert» выполняла функцию копирования, тогда вам понадобится следующий код:

Insert::^c

Утилита AutoHotkey предоставляет неограниченные возможности для настройки системы согласно именно вашим предпочтениям. Необязательно писать длинные и сложные скрипты – для автоматизации повседневной работы хватит несколько простых и коротких сценариев.

Понравилась статья? Поделиться с друзьями:
Клуб настройки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: