Autohotkey — программа для автоматизации действий на пк
Содержание:
- Dynamically Calling a Function
- Установка AutoHotkey
- Alt-Tab Hotkeys
- Как пользоваться
- Introduction and Simple Examples
- Debugging a Script
- Mouse
- Script File Codepage [AHK_L 51+]
- AutoHotkey автоматизация процессов 1.1.33.00
- Попробуйте это мгновенный убийца монитора
- SendPlay [v1.0.43+]
- Introduction and Simple Examples
- Short-circuit Boolean Evaluation
- Long Replacements
Dynamically Calling a Function
: A function (even a ) may be called dynamically via percent signs. For example, would call the function whose name is contained in Var. Similarly, would call Func1() or Func2(), etc., depending on the current value of A_Index.
: Var in can contain a function name or a function object. If the function does not exist, the ‘s __Call meta-function is invoked instead.
If the function cannot be called due to one of the reasons below, the evaluation of the expression containing the call stops silently and prematurely, which may lead to inconsistent results:
- Calling a nonexistent function, which can be avoided by using . Except for , the called function’s must exist explicitly in the script by means such as #Include or a non-dynamic call to a .
- Passing too few parameters, which can be avoided by checking ‘s return value (which is the number of mandatory parameters plus one). : Note that passing too many parameters is tolerated; each extra parameter is fully evaluated (including any calls to functions) and then discarded.
Finally, a dynamic call to a function is slightly slower than a normal call because normal calls are resolved (looked up) before the script begins running.
Установка AutoHotkey
Прежде чем вы сможете протестировать некоторые скрипты или создать свои собственные, вам нужно установить AutoHotkey. Посетите главную страницу AHK, нажмите Скачать на правой стороне, и выберите монтажник захватить самую простую версию для установки. Запустите диалог быстрой установки, и AutoHotkey будет запущен и готов к работе!
Теперь только что установленная программа обрабатывает выполнение сценариев, которые вы пишете на языке AutoHotkey, но у вас еще нет запущенных сценариев! Чтобы создать новый, убедитесь, что AutoHotkey запущен (откройте меню «Пуск» и введите AutoHotkey запустить программу), затем щелкните правой кнопкой мыши в любом месте на рабочем столе или в любом другом удобном месте и выберите New> AutoHotkey Script. Назовите это что-нибудь полезное и убедитесь, что файл заканчивается .АХК, или это не будет работать правильно.
Если вы собираетесь писать несколько сценариев для AutoHotkey, неплохо бы обновить ваш текстовый редактор из мягкого блокнота
, Notepad ++ — отличный бесплатный вариант, который рекомендуется для этой цели
Обратите внимание, что вы можете открыть свой текстовый редактор, ввести код и просто сохранить его как файл, оканчивающийся на .АХК и вы достигнете того же результата, что и вышеописанный метод
Теперь, когда у вас есть программное обеспечение для запуска сценариев, вы можете загрузить код, написанный другими, для автоматизации всех видов задач. Чтобы сохранить скрипт, просто загрузите его как .АХК файл и сохранить его, где вы хотите.
Возможно, вы захотите, чтобы некоторые из этих сценариев запускались сразу после загрузки компьютера, поэтому вам не нужно каждый раз запускать их вручную. Для этого скопируйте и вставьте .АХК файлы в папку «Автозагрузка», набрав оболочка: запуск в меню «Пуск» или перейдя по следующему адресу:
Это обеспечит их запуск сразу после запуска, поэтому вы не пытаетесь использовать комбинации клавиш и ничего не получаете!
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
Как пользоваться
Дальше давайте переходить к практике и разбираться, где бесплатно скачать последнюю версию данного предложения, как его установить, а также как написать свой первый скрипт при помощи AutoHotkey.
Загрузка и установка
Начинать мы будем именно с установки. Тем более, что как таковой, ее здесь нет. Данная программа работает сразу после запуска. Рассмотрим, как его осуществить:
- Сначала мы загружаем архив с приложением, прокрутив страничку ниже и воспользовавшись кнопкой для его скачивания. Распаковываем исполняемый файл и запускаем его двойным левым кликом.
- Теперь нам необходимо предоставить доступ к администраторским полномочиям. В противном случае приложение не сможет корректно работать.
- На этом все. Наша программа установленная и теперь можно переходить непосредственно к работе с ней.
Инструкция по работе
Теперь давайте в общих чертах разберемся, как пользоваться данным приложением. Первое, что следует знать, это скриптовый язык программирования, который тут используется. Без него ни одного макроса написать, к сожалению, не получится. А сам алгоритм использования программы выглядит следующим образом:
- Вы пишите макрос, которым должна руководствоваться в своей работе AutoHotkey.
- Далее при помощи программы открываем данный скрипт и, при необходимости, преобразуем его в EXE-файл.
- Дальше мы можем использовать файл где угодно.
Вот так выглядит сам скрипт, а также созданный с его помощью исполняемый файл.
Introduction and Simple Examples
Although hotstrings are mainly used to expand abbreviations as you type them (auto-replace), they can also be used to launch any scripted action. In this respect, they are similar to hotkeys except that they are typically composed of more than one character (that is, a string).
To define a hotstring, enclose the triggering abbreviation between pairs of colons as in this example:
::btw::by the way
In the above example, the abbreviation btw will be automatically replaced with «by the way» whenever you type it (however, by default you must type an after typing btw, such as Space, ., or Enter).
The «by the way» example above is known as an auto-replace hotstring because the typed text is automatically erased and replaced by the string specified after the second pair of colons. By contrast, a hotstring may also be defined to perform any custom action as in the following examples. Note that the commands must appear beneath the hotstring:
::btw:: MsgBox You typed "btw". return :*:]d:: ; This hotstring replaces "]d" with the current date and time via the commands below. FormatTime, CurrentDateTime,, M/d/yyyy h:mm tt ; It will look like 9/1/2005 3:53 PM SendInput %CurrentDateTime% return
Even though the two examples above are not auto-replace hotstrings, the abbreviation you type is erased by default. This is done via automatic backspacing, which can be disabled via the .
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.
Mouse
General Buttons
Name | Description |
---|---|
LButton | The left mouse button when used with Send, but the primary mouse button when used with hotkeys. In other words, if the user has swapped the buttons via system settings, is physically activated by clicking the right mouse button, but performs the same as physically clicking the left button. To always perform a logical left click, use or . |
RButton | The right mouse button when used with Send, but the secondary mouse button when used with hotkeys. In other words, if the user has swapped the buttons via system settings, is physically activated by clicking the left mouse button, but performs the same as physically clicking the right button. To always perform a logical right click, use or . |
MButton | Middle or wheel mouse button |
Advanced Buttons
Name | Description |
---|---|
XButton1 | 4th mouse button. Typically performs the same function as Browser_Back. |
XButton2 | 5th mouse button. Typically performs the same function as Browser_Forward. |
Wheel
Name | Description |
---|---|
WheelDown | Turn the wheel downward (toward you). |
WheelUp | Turn the wheel upward (away from you). |
WheelLeftWheelRight |
: Scroll to the left or right. Requires Windows Vista or later. These can be with some (but not all) mice which have a second wheel or support tilting the wheel to either side. In some cases, software bundled with the mouse must instead be used to control this feature. Regardless of the particular mouse, Send and Click can be used to scroll horizontally in programs which support it. |
Script File Codepage [AHK_L 51+]
In order for non-ASCII characters to be read correctly from file, the encoding used when the file was saved (typically by the text editor) must match what AutoHotkey uses when it reads the file. If it does not match, characters will be decoded incorrectly. AutoHotkey uses the following rules to decide which encoding to use:
- If the file begins with a UTF-8 or UTF-16 (LE) byte order mark, the appropriate codepage is used and the switch is ignored.
- If the switch is passed on the command-line, codepage n is used. For a list of possible values, see Code Page Identifiers.
Note: The «Default to UTF-8» option in the AutoHotkey installer adds to the command line for all scripts launched via the shell (Explorer).
- In all other cases, the system default ANSI codepage is used.
Note that this applies only to script files loaded by AutoHotkey, not to file I/O within the script itself. FileEncoding controls the default encoding of files read or written by the script, while IniRead and IniWrite always deal in UTF-16 or ANSI.
As all text is converted (where necessary) to the , characters which are invalid or don’t exist in the native codepage are replaced with a placeholder: ANSI ‘?’ or Unicode ‘�’. In Unicode builds, this should only occur if there are encoding errors in the script file or the codepages used to save and load the file don’t match.
RegWrite may be used to set the default for scripts launched from Explorer (e.g. by double-clicking a file):
; Uncomment the appropriate line below or leave them all commented to ; reset to the default of the current build. Modify as necessary: ; codepage := 0 ; System default ANSI codepage ; codepage := 65001 ; UTF-8 ; codepage := 1200 ; UTF-16 ; codepage := 1252 ; ANSI Latin 1; Western European (Windows) if (codepage != "") codepage := " /CP" . codepage cmd="%A_AhkPath%"%codepage% "`%1" `%* key=AutoHotkeyScript\Shell\Open\Command if A_IsAdmin ; Set for all users. RegWrite, REG_SZ, HKCR, %key%,, %cmd% else ; Set for current user only. RegWrite, REG_SZ, HKCU, Software\Classes\%key%,, %cmd%
This assumes AutoHotkey has already been installed. Results may be less than ideal if it has not.
AutoHotkey автоматизация процессов 1.1.33.00
AutoHotkey — бесплатная программа с открытым исходным кодом для создания макросов и автоматизации, позволяющая упростить повторяющиеся задачи. Она поддерживает собственный язык программирования сценариев (скриптов), приспособленный к лёгкому назначению и переназначению горячих клавиш.Системные требования:Windows XP/Vista/7/8/8.1/10Торрент AutoHotkey автоматизация процессов 1.1.33.00 подробно:Возможности программы:·Автоматизировать почти все процессы лишь нажатием клавиши или кликом мыши. Вы можете писать макросы вручную или с использованием макрорегистраторов.·Задавать «горячие» клавиши для клавиатуры, джойстика и мыши. Практически любая клавиша, кнопка или комбинация может стать «горячей» клавишей.·Использовать автозамену при печатании. Например, аббревиатура «btw» может автоматически заменяться на «by the way».·Создавать пользовательские формы ввода данных, пользовательские интерфейсы и меню. Чтобы получить дальнейшую информацию, см. раздел, посвященный GUI.·Переназначать клавиши и кнопки на клавиатуре, джойстике или мыши.·Передавать сигналы ручного пульта дистанционного управления через клиентский скрипт WinLIRC.·Пользоваться уже существующими скриптами AutoIt v2, а также добавлять в них новые возможности.·Конвертировать любой скрипт в EXE-файл, который затем можно запустить даже на компьютерах, где не установлен AutoHotkey.·Изменение громкости, приглушение звука (mute) и другие настройки любой звуковой карты.·Возможность делать окна прозрачными, устанавливать поверх других окон или изменять их форму.·Использование джойстика или клавиатуры в качестве мыши.·Мониторинг вашей системы. Например, возможность закрывать нежелательные окна при их появлении.·Чтение и изменение содержимого буфера обмена, включая имена файлов, скопированные из окна Explorer.·Запрет или замена собственных «быстрых» клавиш Windows, таких, как Win+E и Win+R.·Уменьшение травм от работы на клавиатуре путем замены комбинации Alt-Tab на другие клавиши, ролик или кнопки мыши.·Настройка меню трея собственными пиктограммами, всплывающими подсказками, пунктами меню и субменю.·Отображение диалоговых окон, подсказок и всплывающих меню, обеспечивающих взаимодействие с пользователем.·Выполнение заданных сценарием операций в ответ на завершение работы системы или конец сеанса.·Определение продолжительности простоя в работе пользователя. Например, запуск объемных задач CPU только в отсутствие пользователя.·Автоматизация игровых действий путем распознавания изображений и цветов пикселов.·Более простое, чем в других языках, чтение, запись и анализ текстовых файлов.·Выполнение операций с файлами с использованием подстановочных символов.·Работа с реестром и INI-файлами.Что нового:·Added #ErrorStdOut Encoding parameter.·Added /ErrorStdOut=Encoding command line switch.·Added #Warn Unreachable (warning mode).·Added #Requires AutoHotkey vVersion (directive).·Added detection of program-terminating SEH exceptions, to display an error dialog.·Fixed a possible bug where Input causes undefined behaviour. ·Fixed WinKill.·Fixed A_WinDir to always return the system Windows directory.·Fixed FileGetShortcut/FileCreateShortcut to return and accept negative icon indices without modification.·Fixed InputBox Locale option to not focus the Cancel button.·Fixed menu bar keyboard shortcuts not working when GUI has no controls.·Fixed LoadPicture to use 256×256 graphic when available in a DLL/EXE.·Fixed DBGp stderr copy mode to not suppress error dialogs.·Fixed ControlGet Line setting ErrorLevel=1 when line is just empty.Fixed Send causing unwanted hotkey buffering.
Скриншоты AutoHotkey автоматизация процессов 1.1.33.00 торрент:
Скачать AutoHotkey автоматизация процессов 1.1.33.00 через торрент:
autohotkey-1_1_33_00.torrent (cкачиваний: 54)
Попробуйте это мгновенный убийца монитора
AutoHotkey также может отправлять системные команды. Если вы целый день работаете за компьютером, возможно, вы не будете активно его использовать, но не хотите его выключать. Этот скрипт мгновенно обрежет сигнал на экране, а не будет ждать, пока он истечет, или заставка сработает.
Скачать: monitor_sleep.ahk
После загрузки откройте скрипт и нажмите F1, Разбудите его снова, перемещая мышь или нажимая любую клавишу на клавиатуре. AutoHotkey может управлять многими элементами вашей системы аналогично этому, включая отправку команд выключения, открытия пользовательских проводников Windows и даже команд в командной строке.
SendPlay [v1.0.43+]
Warning: SendPlay may have no effect at all if UAC is enabled, even if the script is running as an administrator. For more information, refer to the .
SendPlay’s biggest advantage is its ability to «play back» keystrokes and mouse clicks in a broader variety of games than the other modes. For example, a particular game may accept only when they have the .
Of the three sending modes, SendPlay is the most unusual because it does not simulate keystrokes and mouse clicks per se. Instead, it creates a series of events (messages) that flow directly to the active window (similar to ControlSend, but at a lower level). Consequently, SendPlay does not trigger hotkeys or hotstrings.
Like , SendPlay’s keystrokes do not get interspersed with keystrokes typed by the user. Thus, if the user happens to type something during a SendPlay, those keystrokes are postponed until afterward.
Although SendPlay is considerably slower than SendInput, it is usually faster than the traditional mode (even when KeyDelay is -1).
Both Win (LWin and RWin) are automatically blocked during a SendPlay if the keyboard hook is installed. This prevents the Start Menu from appearing if the user accidentally presses Win during the send. By contrast, keys other than LWin and RWin do not need to be blocked because the operating system automatically postpones them until after the SendPlay (via buffering).
SendPlay does not use the standard settings of SetKeyDelay and SetMouseDelay. Instead, it defaults to no delay at all, which can be changed as shown in the following examples:
SetKeyDelay, 0, 10, Play ; Note that both 0 and -1 are the same in SendPlay mode. SetMouseDelay, 10, Play
SendPlay is unable to turn on or off CapsLock, NumLock, or ScrollLock. Similarly, it is unable to change a key’s state as seen by unless the keystrokes are sent to one of the script’s own windows. Even then, any changes to the left/right modifier keys (e.g. RControl) can be detected only via their neutral counterparts (e.g. Control). Also, SendPlay has other limitations described on the .
Unlike and , the user may interrupt a SendPlay by pressing Ctrl+Alt+Del or Ctrl+Esc. When this happens, the remaining keystrokes are not sent but the script continues executing as though the SendPlay had completed normally.
Although SendPlay can send LWin and RWin events, they are sent directly to the active window rather than performing their native operating system function. To work around this, use . For example, would show the Start Menu’s Run dialog.
Introduction and Simple Examples
Hotkeys are sometimes referred to as shortcut keys because of their ability to easily trigger an action (such as launching a program or keyboard macro). In the following example, the hotkey Win+N is configured to launch Notepad. The pound sign stands for Win, which is known as a modifier key:
#n:: Run Notepad return
In the final line above, serves to finish the hotkey. However, if a hotkey needs to execute only a single line, that line can be listed to the right of the double-colon. In other words, the is implicit:
#n::Run Notepad
To use more than one modifier with a hotkey, list them consecutively (the order does not matter). The following example uses to indicate Ctrl+Alt+S:
^!s:: Send Sincerely,{enter}John Smith ; This line sends keystrokes to the active (foremost) window. return
Short-circuit Boolean Evaluation
When AND, OR, and the are used within an , they short-circuit to enhance performance (regardless of whether any function calls are present). Short-circuiting operates by refusing to evaluate parts of an expression that cannot possibly affect its final result. To illustrate the concept, consider this example:
if (ColorName != "" AND not FindColor(ColorName)) MsgBox %ColorName% could not be found.
In the example above, the FindColor() function never gets called if the ColorName variable is empty. This is because the left side of the AND would be false, and thus its right side would be incapable of making the final outcome true.
Because of this behavior, it’s important to realize that any side-effects produced by a function (such as altering a global variable’s contents) might never occur if that function is called on the right side of an AND or OR.
It should also be noted that short-circuit evaluation cascades into nested ANDs and ORs. For example, in the following expression, only the leftmost comparison occurs whenever ColorName is blank. This is because the left side would then be enough to determine the final answer with certainty:
if (ColorName = "" OR FindColor(ColorName, Region1) OR FindColor(ColorName, Region2)) break ; Nothing to search for, or a match was found.
As shown by the examples above, any expensive (time-consuming) functions should generally be called on the right side of an AND or OR to enhance performance. This technique can also be used to prevent a function from being called when one of its parameters would be passed a value it considers inappropriate, such as an empty string.
: The also short-circuits by not evaluating the losing branch.
Long Replacements
Hotstrings that produce a large amount of replacement text can be made more readable and maintainable by using a . For example:
::text1:: ( Any text between the top and bottom parentheses is treated literally, including commas and percent signs. By default, the hard carriage return (Enter) between the previous line and this one is also preserved. By default, the indentation (tab) to the left of this line is preserved. )
See for how to change these default behaviors. The presence of a continuation section also causes the hotstring to default to . The only way to override this special default is to specify the in each hotstring that has a continuation section (e.g. ).