Autohotkey 1.1.33.02

Language Syntax

When are quotation marks used with commands and their parameters?

Double quotes («) have special meaning only within . In all other places, they are treated literally as if they were normal characters. However, when a script launches a program or document, the operating system usually requires quotes around any command-line parameter that contains spaces, such as in this example: .

When exactly are variable names enclosed in percent signs?

Variable names are always enclosed in percent signs except in cases illustrated in bold below:

1) In parameters that are input or output variables:
2) On the left side of an assignment:
3) On the left side of traditional (non-expression) if-statements:
4) Everywhere in . For example:

If (Var1 <> Var2)
    Var1 := Var2 + 100

For further explanation of how percent signs are used, see and . Percent signs can also have other meanings:

  • The causes a command parameter to be interpreted as an expression.
  • percent signs () and percent signs in have no special meaning (they are interpreted as literal percent signs).

When should percent signs and commas be escaped?

Literal percent signs must be escaped by preceding them with an accent/backtick. For example: Literal commas must also be escaped () except when used in MsgBox or the last parameter of any command (in which case the accent is permitted but not necessary).

When commas or percent signs are enclosed in quotes within an , the accent is permitted but not necessary. For example: .

Function Hotkeys [v1.1.20+]

One or more hotkeys can be assigned a function by simply defining it immediately after the hotkey label as in this example:

; Ctrl+Shift+O to open containing folder in Explorer.
; Ctrl+Shift+E to open folder with current file selected.
; Supports SciTE and Notepad++.
^+o::
^+e::
    editor_open_folder() {
        WinGetTitle, path, A
        if RegExMatch(path, "\*?\K(.*)\\+(?=  )", path)
            if (FileExist(path) && A_ThisHotkey = "^+e")
                Run explorer.exe /select`,"%path%"
            else
                Run explorer.exe "%path1%"
    }

: Hotstrings can also be defined this way. Multiple hotkeys or hotstrings can be stacked together to call the same function.

There must only be whitespace, comments or directives between the hotkey/hotstring labels or label and the function. Hotkey/hotstring labels defined this way are not visible to IsLabel(), Gosub or other commands; however, the ends at the first hotkey/hotstring even if it is assigned a function.

The main benefit of using a function is that local variables can be used, which avoids conflicts when two or more hotkeys use the same variable names for different purposes. It also encourages self-documenting hotkeys, like in the code above where the function name describes the hotkey.

The Hotkey command can also be used to assign a function or function object to a hotkey.

Версии

AutoHotkey 1.0. * — также ретроактивно известна как AutoHotkey Basic, Classic, Vanilla и т. Д.

Версия Дата выхода
2009-09-26
2011-04-14
Версия Дата выхода
2016-05-22
2016-08-02

AutoHotkey 2.0-a *

(Все еще в альфа-стадии)

Версия Дата выхода
2015-10-24
2015-11-09
2015-12-25
2015-12-25
2016-02-05
2016-03-11
2016-06-03

Привет, мир

Показать «Привет мир!» в окне сообщений.

Показать «Привет мир!» в подсказке.

Показать «Привет мир!» сообщение в редакторе лотка.

Печать «Hello, World» на стандартный вывод (stdout).

Как создать скрипт

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

  1. Щелкните правой кнопкой мыши на рабочем столе.
  2. Найдите «Новое» в меню.
  3. Нажмите «AutoHotkey Script» в меню «Новое».
  4. Дайте сценарию новое имя. Примечание. Он должен заканчиваться расширением .ahk. Ex. MyScript.ahk
  5. Найдите вновь созданный файл на рабочем столе и щелкните его правой кнопкой мыши.
  6. Нажмите «Редактировать сценарий».
  7. Должно появиться окно, вероятно, Блокнот. Если да, УСПЕХ!

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

Позднее мы получим более подробную информацию. До тех пор вот объяснение приведенного выше кода.

  • Первая строка. это горячая клавиша. означает , — буква j. Все, что слева от — это клавиши, которые нужно нажать.
  • Вторая строка. — это то, как вы нажатия клавиш. — это команда, все после запятой (,) будет напечатано.
  • Третья строка. . Возвращение станет вашим лучшим другом. Это буквально код STOPS, идущий дальше, к строкам ниже. Это предотвратит многие проблемы, когда вы начнете иметь много вещей в своих сценариях.
  1. Сохраните файл.
  2. Дважды щелкните файл / значок на рабочем столе, чтобы запустить его. Откройте блокнот или (все, что вы можете ввести) и нажмите Ctrl и J.
  3. Гип-гип ура! Ваш первый скрипт сделан. Пойдите, получите некоторые наградные закуски, затем вернитесь к чтению остальной части этого учебника.

Установка или настройка

  1. Во время установки AutoHotkey вам будет предложено выбрать из UNICODE или ANSI. Короче говоря, вы, вероятно, захотите выбрать UNICODE. Он поддерживает неанглийские буквы и цифры (символы).
  2. Продолжайте движение, пока не увидите кнопку установки.
  3. Сделав это, отлично!
  1. Найдите раздел «Портативный», выберите «UNICODE 32, 64 или ANSI» и скачайте.
  2. При выборе папки назначения выберите любое правильное хранилище внешнего или нет.
  3. Теперь вы можете выбрать ассоциировать файлы .ahk с Autohotkey.exe
  4. Создайте простой текстовый файл и дайте ему расширение .ahk
  5. Затем щелкните правой кнопкой мыши файл .ahk в проводнике и выберите «Свойства».
  6. В файле «Свойства» нажмите кнопку «Изменить» рядом с опцией «Открывается с».
    • После нажатия кнопки «Изменить» вам будет предоставлен список программ для открытия файла, выберите программу, которую вы хотите использовать, а затем нажмите «ОК» или «Применить».
    • Если программа, которую вы хотите выбрать, не указана, нажмите кнопку «Обзор» и найдите исполняемый файл Autohotkey (.exe) и нажмите «ОК», чтобы выбрать эту программу.
  7. Теперь файлы .ahk будут работать, как если бы был установлен autohotkey, отлично!

Если вы установили шоколад, запустите следующую команду в качестве администратора

8 — Other Helpful Goodies

We have reached the end of our journey, my good friend. I hope you have learned something. But before we go, here are some other things that I think you should know. Enjoy!

a. The mysterious square brackets

Throughout the documentation, you will see these two symbols ( and ) surrounding code in the yellow syntax box at the top of almost all pages. Anything inside of these brackets are OPTIONAL. Meaning the stuff inside can be left out if you don’t need them. When writing your code, it is very important to NOT type the square brackets in your code.

On the ControlGetText page you will see this:

ControlGetText, OutputVar , Control, WinTitle, WinText, ExcludeTitle, ExcludeText

So you could simply do this if you wanted:

ControlGetText, OutputVar

Or add in some more details:

ControlGetText, OutputVar, Control, WinTitle

What if you wanted to use ExcludeTitle but not fill in WinText or WinTitle? Simple!

ControlGetText, OutputVar, Control,,, ExcludeTitle

Please note that you cannot IGNORE parameters, but you can leave them blank. If you were to ignore , it would look like this and cause issues:

ControlGetText, OutputVar, Control, ExcludeTitle

b. Finding your AHK version

Run this code to see your AHK version:

MsgBox, %A_AhkVersion%

Or look for «AutoHotkey Help File» or «AutoHotkey.chm» in the start menu or your installation directory.

c. Trial and Error

Trial and Error is a very common and effective way of learning. Instead of asking for help on every little thing, sometimes spending some time alone (sometimes hours or days) and trying to get something to work will help you learn faster.

If you try something and it gives you an error, study that error. Then try to fix your code. Then try running it again. If you still get an error, modify your code some more. Keep trying and failing until your code fails no more. You will learn a lot this way by reading the documentation, reading errors and learning what works and what doesn’t. Try, fail, try, fail, try, try, try, fail, fail, succeed!

This is how a lot of «pros» have learned. But don’t be afraid to ask for help, we don’t bite (hard). Learning takes time, the «pros» you encounter did not learn to be masters in just a few hours or days.

«If at first you don’t succeed, try, try, try again.» — Hickson, William E.

d. Indentation

This stuff (indentation) is very important! Your code will run perfectly fine without it, but it will be a major headache for you and other to read your code. Small code (25 lines or less) will probably be fine to read without indentation, but it’ll soon get sloppy. It’s best you learn to indent ASAP. Indentation has no set style, but it’s best to keep everything consistent.

«What is indentation?» you ask? It’s simply spacing to break up your code so you can see what belongs to what. People usually use 3 or 4 spaces or 1 tab per «level».

Not indented:

if (car = "old")
{
MsgBox, The car is really old.
if (wheels = "flat")
{
MsgBox, This car is not safe to drive.
return
}
else
{
MsgBox, Be careful! This old car will be dangerous to drive.
}
}
else
{
MsgBox, My`, what a shiny new vehicle you have there.
}

Indented:

if (car = "old")
{
    MsgBox, The car is really old.
    if (wheels = "flat")
    {
        MsgBox, This car is not safe to drive.
        return
    }
    else
    {
        MsgBox, Be careful! This old car will be dangerous to drive.
    }
}
else
{
    MsgBox, My`, what a shiny new vehicle you have there.
}

See Wikipedia’s Indentation style page for various styles and examples. Choose what you like or learn to indent how you think it’s easiest to read.

e. Asking for Help

Before you ask, try doing some research yourself or try to code it yourself. If that did not yield results that satisfy you, read below.

  • Don’t be afraid to ask for help, even the smartest people ask others for help.
  • Don’t be afraid to show what you tried, even if you think it’s silly.
  • Post anything you have tried.
  • Pretend everyone but you is a doorknob and knows nothing. Give as much information as you can to educate us doorknobs at what you are trying to do. Help us help you.
  • Be patient.
  • Be polite.
  • Be open.
  • Be kind.
  • Enjoy!

If you don’t get an answer right away, wait at least 1 day (24 hours) before asking for more help. We love to help, but we also do this for free on our own time. We might be at work, sleeping, gaming, with family or just too busy to help.

And while you wait for help, you can try learning and doing it yourself. It’s a good feeling, making something yourself without help.

Context-sensitive Hotkeys

The directives #IfWinActive/Exist and #If can be used to make a hotkey perform a different action (or none at all) depending on a specific condition. For example:

#IfWinActive, ahk_class Notepad
^a::MsgBox You pressed Ctrl-A while Notepad is active. Pressing Ctrl-A in any other window will pass the Ctrl-A keystroke to that window.
#c::MsgBox You pressed Win-C while Notepad is active.

#IfWinActive
#c::MsgBox You pressed Win-C while any window except Notepad is active.

#If MouseIsOver("ahk_class Shell_TrayWnd") ; For MouseIsOver, see .
WheelUp::Send {Volume_Up}     ; Wheel over taskbar: increase/decrease volume.
WheelDown::Send {Volume_Down} ;

Variadic Functions [AHK_L 60+]

When defining a function, write an asterisk after the final parameter to mark the function as variadic, allowing it to receive a variable number of parameters:

Join(sep, params*) {
    for index,param in params
        str .= param . sep
    return SubStr(str, 1, -StrLen(sep))
}
MsgBox % Join("`n", "one", "two", "three")

When a variadic function is called, surplus parameters can be accessed via an object which is stored in the function’s final parameter. The first surplus parameter is at , the second at and so on. As with any standard object, can be used to determine the highest numeric index (in this case the number of parameters). However, if there are no parameters, MaxIndex returns an empty string.

Notes:

  • The «variadic» parameter can only appear at the end of the formal parameter list.
  • RegEx callouts cannot be variadic; the «variadic» parameter is tolerated but left blank.
  • Callbacks pass surplus parameters rather than via an array.

Variadic Function Calls

While variadic functions can accept a variable number of parameters, an array of parameters can be passed to any function by applying the same syntax to a function-call:

substrings := 
MsgBox % Join("`n", substrings*)

Notes:

  • Numbering of parameters within the source array begins at 1.
  • Optional parameters may be entirely omitted from the array.
  • The array of parameters may contain named items when calling a user-defined function; in any other case, named items are not supported.
  • The target function may also be variadic, in which case named items are copied even if they have no corresponding formal parameter.
  • This syntax can also be used when calling methods or retrieving properties of objects; for example, . : It can also be used for setting properties.

Known limitations:

  • Only the right-most parameter can be expanded this way. For example, is supported but is not.
  • There must not be any non-whitespace characters between the asterisk () and the symbol which ends the parameter list.

Скрипты AutoHotKey для CS:GO

Bhop

Bhop (распрыжка) — это крутой скрипт для отработки упражнений, когда вы освоите его, подумайте о распрыжке с колесом прокрутки.

F11 для включения и отключения. Кнопка End дял полного отключения.

VAC вас НИКОГДА не обнаружит.

Autofire

Autofire не очень практичен для конкурентного игрового процесса, но с DM и Casual это интересно.

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

Чтобы поставить скрипт на паузу нажмите F6.

Ultimate CS:GO Multiscript

Это НЕ чит, он не будет вводить или делать что-либо с CS:GO, он просто симулирует события мыши/клавиатуры.

Характеристики

  • Удивительный графический интерфейс для быстрого и простого отображения.
  • Авто-купить оружие, можно настроить в графическом интерфейсе
  • Burst, 1x Tap, 2x режима огня
  • Rapid Fire (Autofire) для ваших пистолетов/ружей
  • Вертикальный контроль отдачи (в сочетании с автопожаром для пистолета Norecoil)
  • Bhop (распрыжка)
  • Медленный авто огонь для Deagles
  • Авто нож для лучших ножевых комбо!

Горячие кнопки

  • На цифровом блоке клавиатуры 1-3: Выберите пресет для автоматической покупки
  • На цифровом блоке клавиатуры 4: авто огонь
  • На цифровом блоке клавиатуры 5: авто нож
  • На цифровом блоке клавиатуры 6: одно нажатие = взрыв, удерживайте мышь для спрея с катушкой
  • На цифровом блоке клавиатуры 7-9: 1x Tap, 2x Tap, Взрыв
  • Правый Ctrl: режим огня по умолчанию
  • Правый Alt: переключить «без отдачи»
  • CapsLock: переключить Bhop (раскрыжка)
  • Правый Shift: сделать norecoil (без отдачи) непротиворечивым (только для cz auto)

Пролистните до Code: и разверните Spoiler:

Скрипт длинный, поэтому убедитесь, что полностью скопировали его.

Описание и возможности

Итак, что же это за приложение и для чего оно нужно? АвтоХоткей – это специальная утилита, которая воспроизводит заранее написанные скрипты или как еще их называют бинды. Рассмотрим основные и дополнительные возможности ПО, для того чтобы вы поняли его назначение:

  • Какой-либо горячей кнопкой или кликом мыши вы можете запустить заранее запрограммированный макрос, который, в свою очередь, выполнит целую серию событий.
  • На любые кнопки клавиатуры, игрового джойстика или мыши мы можем назначить отдельные макросы. При этом поддерживается не только обычный, но и двойной клик.
  • Собственный скриптовый язык позволяет, например, создать функционал для автоматической замены введенного текста.
  • Поддерживается переназначение клавиш на клавиатуре, мыши или игровом контролере.
  • Любой скрипт, который написал пользователь, может быть преобразован в обычной EXE-файл. Это позволит запускать его уже без участия программы AutoHotkey.

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

Special Keys

If your keyboard or mouse has a key not listed above, you might still be able to make it a hotkey by using the following steps:

  1. Ensure that at least one script is running that is using the keyboard hook. You can tell if a script has the keyboard hook by opening its main window and selecting «View->Key history» from the menu bar.
  2. Double-click that script’s tray icon to open its main window.
  3. Press one of the «mystery keys» on your keyboard.
  4. Select the menu item «View->Key history»
  5. Scroll down to the bottom of the page. Somewhere near the bottom are the key-down and key-up events for your key. NOTE: Some keys do not generate events and thus will not be visible here. If this is the case, you cannot directly make that particular key a hotkey because your keyboard driver or hardware handles it at a level too low for AutoHotkey to access. For possible solutions, see further below.
  6. If your key is detectable, make a note of the 3-digit hexadecimal value in the second column of the list (e.g. 159).
  7. To define this key as a hotkey, follow this example:
    SC159:: ; Replace 159 with your key's value.
    MsgBox, %A_ThisHotkey% was pressed.
    return

Reverse direction: To remap some other key to become a «mystery key», follow this example:

; Replace 159 with the value discovered above. Replace FF (if needed) with the
; key's virtual key, which can be discovered in the first column of the Key History screen.
#c::Send {vkFFsc159} ; See  for more details.

Alternate solutions: If your key or mouse button is not detectable by the Key History screen, one of the following might help:

  1. Reconfigure the software that came with your mouse or keyboard (sometimes accessible in the Control Panel or Start Menu) to have the «mystery key» send some other keystroke. Such a keystroke can then be defined as a hotkey in a script. For example, if you configure a mystery key to send Control+F1, you can then indirectly make that key as a hotkey by using in a script.

  2. Try AHKHID. You can also try searching the forum for a keywords like , or .

  3. The following is a last resort and generally should be attempted only in desperation. This is because the chance of success is low and it may cause unwanted side-effects that are difficult to undo:
    Disable or remove any extra software that came with your keyboard or mouse or change its driver to a more standard one such as the one built into the OS. This assumes there is such a driver for your particular keyboard or mouse and that you can live without the features provided by its custom driver and software.

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

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

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

Плюсы:

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

Минусы:

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

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

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

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

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

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

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

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

Выбор команд

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

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

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

Repeating or Holding Down a Key

To repeat a keystroke: Enclose in braces the name of the key followed by the number of times to repeat it. For example:

Send {DEL 4}  ; Presses the Delete key 4 times.
Send {S 30}   ; Sends 30 uppercase S characters.
Send +{TAB 4}  ; Presses Shift-Tab 4 times.

To hold down or release a key: Enclose in braces the name of the key followed by the word Down or Up. For example:

Send {b down}{b up}
Send {TAB down}{TAB up}
Send {Up down}  ; Press down the up-arrow key.
Sleep 1000  ; Keep it down for one second.
Send {Up up}  ; Release the up-arrow key.

When a key is held down via the method above, it does not begin auto-repeating like it would if you were physically holding it down (this is because auto-repeat is a driver/hardware feature). However, a Loop can be used to simulate auto-repeat. The following example sends 20 tab keystrokes:

Loop 20
{
    Send {Tab down}  ; Auto-repeat consists of consecutive down-events (with no up-events).
    Sleep 30  ; The number of milliseconds between keystrokes (or use SetKeyDelay).
}
Send {Tab up}  ; Release the key.

By default, Send will not automatically release a modifier key (Control/Shift/Alt/Win) if that modifier key was «pressed down» by sending it. For example, may behave similar to if the user is physically holding Ctrl, but followed by will produce a Control+A keystroke. DownTemp and DownR can be used to override this behavior. DownTemp and DownR have the same effect as Down except for the modifier keys (Control/Shift/Alt/Win).

DownTemp tells subsequent sends that the key is not permanently down, and may be released whenever a keystroke calls for it. For example, followed later by would produce a normal A keystroke, not a Control+A keystroke. Any use of Send may potentially release the modifier permanently, so DownTemp is not ideal for remapping modifier keys.

: DownR (where «R» stands for remapping, which is its main use) tells subsequent sends that if the key is automatically released, it should be pressed down again when send is finished. For example, followed later by would produce a normal A keystroke, not a Control+A keystroke, but will leave the Control key in the pressed state for use with keyboard shortcuts. In other words, DownR has an effect similar to physically pressing the key.

If a character does not correspond to a virtual key on the current keyboard layout, it cannot be «pressed» or «released». For example, has no effect on most layouts, and is equivalent to .

Tray Icon

By default, each script adds its own icon to the taskbar notification area (commonly known as the tray).

The tray icon usually looks like this (but the color or letter changes when the script is paused or suspended):

Right-click the tray icon to show the tray menu, which has the following options by default:

  • Open — Open the script’s .
  • Help — Open the AutoHotkey offline help file.
  • Window Spy — Displays various information about a window.
  • Reload This Script — See Reload.
  • Edit This Script — See Edit.
  • Suspend Hotkeys — Suspend or unsuspend hotkeys.
  • Pause Script — Pause or unpause the script.
  • Exit — Exit the script.

By default, double-clicking the tray icon shows the script’s .

The Menu command can be used to customise the tray icon and menu.

The #NoTrayIcon directive can be used to hide the tray icon.

Alt-Tab Hotkeys

Each Alt-Tab hotkey must be a combination of two keys, which is typically achieved via the ampersand symbol (&). In the following example, you would hold down the right Alt key 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 an «&» 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 a hotkey-invoked Alt-tab menu without activating the selected window, use a hotkey such as the following. It might require adjustment depending on: 1) the means by which the alt-tab menu was originally displayed; and 2) whether the script has the keyboard hook installed.

LCtrl & CapsLock::AltTab
!MButton::  ; Middle mouse button. The ! prefix makes it fire while the Alt key is down (which it is if the alt-tab menu is visible).
if WinExist("ahk_class #32771")  ; Indicates that the alt-tab menu is present on the screen.
    Send !{Escape}{Alt up}
return

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.

Custom alt-tab actions can also be created via hotkeys. 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 Escape 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.
~*Escape::
if WinExist("ahk_class #32771")
    Send {Escape}{Alt up}  ; Cancel the menu without activating the selected window.
return

Joystick

Joy1 through Joy32: The buttons of the joystick. To help determine the button numbers for your joystick, use this . Note that hotkey prefix symbols such as ^ (control) and + (shift) are not supported (though GetKeyState can be used as a substitute). Also note that the pressing of joystick buttons always «passes through» to the active window if that window is designed to detect the pressing of joystick buttons.

Although the following Joystick control names cannot be used as hotkeys, they can be used with GetKeyState:JoyX, JoyY, and JoyZ: The X (horizontal), Y (vertical), and Z (altitude/depth) axes of the joystick.JoyR: The rudder or 4th axis of the joystick. JoyU and JoyV: The 5th and 6th axes of the joystick. JoyPOV: The point-of-view (hat) control.JoyName: The name of the joystick or its driver. JoyButtons: The number of buttons supported by the joystick (not always accurate). JoyAxes: The number of axes supported by the joystick.JoyInfo: Provides a string consisting of zero or more of the following letters to indicate the joystick’s capabilities: Z (has Z axis), R (has R axis), U (has U axis), V (has V axis), P (has POV control), D (the POV control has a limited number of discrete/distinct settings), C (the POV control is continuous/fine). Example string: ZRUVPD

Multiple Joysticks: If the computer has more than one joystick and you want to use one beyond the first, include the joystick number (max 16) in front of the control name. For example, 2joy1 is the second joystick’s first button.

Note: If you have trouble getting a script to recognize your joystick, one person reported needing to specify a joystick number other than 1 even though only a single joystick was present. It is unclear how this situation arises or whether it is normal, but experimenting with the joystick number in the can help determine if this applies to your system.

See Also:Joystick remapping: methods of sending keystrokes and mouse clicks with a joystick.: using a joystick as a mouse.

Попробуйте это мгновенный убийца монитора

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

Скачать: monitor_sleep.ahk

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

Special modes

The following modes affect the interpretation of the characters in Keys or the behavior of key-sending commands such as Send, SendInput, SendPlay, SendEvent and ControlSend. These modes must be specified as in Keys, where x is either Raw, Text, or Blind. For example, .

Raw mode

The Raw mode can be either enabled with , SendRaw or ControlSendRaw, which causes all subsequent characters, including the special characters , to be interpreted literally rather than translating to Enter, to Control+C, etc. For example, both and send instead of a Tab keystroke.

The Raw mode does not affect the interpretation of escape sequences, and . For example, sends the string . When using ControlSend, it is also necessary to escape literal commas ().

Text mode

The Text mode can be enabled with , which is similar to the Raw mode, except that no attempt is made to translate characters (other than , , and ) to keycodes; instead, the is used for all of the remaining characters. For SendEvent, SendInput and ControlSend, this improves reliability because the characters are much less dependent on correct modifier state. This mode can be combined with the Blind mode to avoid releasing any modifier keys: . However, some applications require that the modifier keys be released.

, and are all translated to a single Enter keystroke, unlike the default behavior and Raw mode, which translate to two Enter keystrokes. is translated to Tab and to Backspace, but all other characters are sent without translation.

: Like the Blind mode, the Text mode ignores SetStoreCapsLockMode (that is, the state of CapsLock is not changed) and does not . This is because the Text mode typically does not depend on the state of CapsLock and cannot trigger the system Win+L hotkey. However, this only applies when Keys begins with or .

Blind mode

The Blind mode can be enabled with , which gives the script more control by disabling a number of things that are normally done automatically to make things work as expected. must be the first item in the string to enable the Blind mode. It has the following effects:

  • The Blind mode avoids releasing Alt/Control/Shift/Win if they started out in the down position. For example, the hotkey would send ABC rather than abc because the user is holding down Shift.
  • Modifier keys are restored differently to allow a Send to turn off a hotkey’s modifiers even if the user is still physically holding them down. For example, automatically pushes Ctrl back down if the user is still physically holding Ctrl, whereas allows Ctrl to be logically up even though it is physically down.
  • SetStoreCapsLockMode is ignored; that is, the state of CapsLock is not changed.
  • Menu masking is disabled. That is, Send omits the extra keystrokes that would otherwise be sent in order to prevent: 1) Start Menu appearance during Win keystrokes (LWin/RWin); 2) menu bar activation during Alt keystrokes. However, the Blind mode does not prevent masking performed by the keyboard hook following activation of a hook hotkey.
  • Send does not wait for the Win key to be released even if the text contains an L keystroke. This would normally be done to prevent Send from triggering the system «lock workstation» hotkey (Win+L). See for details.

The Blind mode is used internally when remapping a key. For example, the remapping would produce: 1) «b» when you type «a»; 2) uppercase «B» when you type uppercase «A»; and 3) Control+B when you type Control+A.

is not supported by SendRaw or ControlSendRaw; use instead.

The Blind mode is not completely supported by , especially when dealing with the modifier keys (Control, Alt, Shift, and Win).

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий