Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoHotkey

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

chum2000

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

   
 
Актуальная версия: AutoHotkey 2.0.5 от 12 августа 2023
Версия для Windows XP | Changes from v1.1 to v2.0
 
Официальный сайт | Англоязычный форум | Архивный форум | Русскоязычный форум
Документация (англ.) | Документация и статьи (рус.) | История изменений
 
Подборка полезных скриптов | AutoHotkey + Total Commander
 

Цитата:
AutoHotkey — бесплатная программа с открытым исходным кодом для создания макросов и автоматизации, позволяющая упростить выполнение повторяющихся задач.
 
AutoHotkey позволяет изменить интерфейс практически любой программы. Имеет собственный скриптовый язык, специально нацеленный на лёгкое назначение и переназначение горячих клавиш.
 
AutoHotkey можно использовать для запуска программ, отправки текста, имитации мыши. Скриптовый язык позволяет управлять окнами, файлами и папками. Команды могут быть активированы горячими клавишами.
 
Также имеются возможности создания GUI, работы с реестром, использования собственного API окон для вызова DLL-файлов. Скрипты можно скомпилировать в EXE-файл и запускать на любом компьютере с Windows соответствующей версии.
 
Наиболее частое применение AutoHotkey:
- переназначение клавиш (глобально или у отдельных программ)
- управление мышью с помощью клавиатуры или джойстика
- слежение за системой, автоматическое выполнение некоторых действий по желанию пользователя, таких как напоминание, сканирование или резервное копирование
 

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 00:28 02-06-2005 | Исправлено: Egor2020, 10:08 21-09-2023
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#Persistent
SetCapsLockState AlwaysOff

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 08:30 29-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws 07:30 29-03-2013
Цитата:
#Persistent  
 SetCapsLockState AlwaysOff

Ну, надо же как просто всё, если знать! А я-то мучился  
Огромное спасибо!
 
Добавлено:
Я когда-то с этим разбирался, но, кажется, уже успел забыть Как указать AHK, какие именно файлы со скриптами должны автоматически загружаться при запуске проги? Сейчас у меня автоматически подгружается файл AutoHotkey.ahk из системной папки My Documents, но, наверное, и название файла, и его расположение могут быть любыми? И файлов этих, наверное, можно указать несколько?
И ещё, как указать порядок проверки скриптов? Например, если имеется конфликт: в одном AHK-файле нажатию клавиши CapsLock присвоено одно действие, а в другом AHK-файле этой же клавише присвоено другое действие. От чего зависит, какое из них будет выполнено?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 12:42 29-03-2013
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
какие именно файлы со скриптами должны автоматически загружаться

#include

Цитата:
От чего зависит, какое из них будет выполнено?

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

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 13:55 29-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidomars 12:55 29-03-2013
Цитата:
#include

Это - куда?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 14:11 29-03-2013
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
-

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 15:36 29-03-2013 | Исправлено: creature_ws, 16:16 29-03-2013
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это - куда?  

Как куда? В скрипт. Например #Include, help.ahk
Или я что то не так понял?

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 16:45 29-03-2013 | Исправлено: aidomars, 16:45 29-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidomars 15:45 29-03-2013
Цитата:
Как куда? В скрипт. Например #Include, help.ahk

В тело скрипта, в качестве первой строки?? Или, может, в имя файла со скриптом?
А откуда исполнимый модуль AHK узнает, что этот файл вообще надо проверять на наличие данного ключа?  
Допустим, возьму я файл со скриптом, напишу в нём эту строку  #Include, а файл запрячу, как Кощееву смерть, где-нибудь в бездонных глубинах структуры локального диска, а то и удалённого сетевого ресурса... AHK не сканирует же все доступные диски и сетевые ресурсы, чтобы это проверить?
То есть, я думаю, что должен же быть где-то в настройках список проверяемых файлов или хотя бы папок.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 17:16 29-03-2013 | Исправлено: oshizelly, 17:20 29-03-2013
LonerDergunov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly

Цитата:
В тело скрипта, в качестве первой строки?

#Include обозначает место, куда перед выполнением скрипта будет вставлено содержимое указанного файла.
 

Цитата:
а файл запрячу

А в директиве #Include надо указать путь к этому файлу если он не лежит рядом с основным скриптом.  Правда насчёт сетевого компьютера не знаю - понимает ли AHK путь к нему, но это уже скорее из области извращений.

Всего записей: 2972 | Зарегистр. 11-07-2007 | Отправлено: 17:43 29-03-2013 | Исправлено: LonerDergunov, 17:45 29-03-2013
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В тело скрипта, в качестве первой строки?

Вот несколько строк из справки, кстати на русском языке.
Заставляет скрипт вести себя так, как будто содержимое заданного файла находится точно на данной позиции.
Для загрузки функций из внешнего файла можно использовать директиву #Include (даже в начале скрипта).

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 17:58 29-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LonerDergunov
aidomars
 
Спасибо за разъяснение про директиву #Include, принял к сведению и к использованию.
Но вообще-то спрашивал я не про это. Наверное, мой вопрос настолько примитивный, что умным люди просто в голову не приходит, что о таком кто-то может спрашивать. Но я всё-таки попробую ещё раз.
 
Вот, допустим, эта директива #Include прописана в файле F:\tralalala\trambam\abc.ahk и ссылается на файл Z:\ugu\aga\999.ahk.  
 
С этим, вторым файлом всё понятно. Но как исполнимый модуль AHK найдёт файл F:\tralalala\trambam\abc.ahk, чтобы оттуда проследовать по директиве #Include к файлу Z:\ugu\aga\999.ahk

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 23:33 29-03-2013 | Исправлено: oshizelly, 23:36 29-03-2013
OnMyDSeeAtAll



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
@LonerDergunov

Цитата:
Насколько критично к быстродействию и функционалу количество команд SetTimer и частота их проверки в скрипте?
Думаю, что не в количестве дело, выставте частоту 100-250 и мешать не будут (за всю практику использования ни когда не использовал много таймеров, уж извините, но более точно может ответить кто практиковал...).
@oshizelly
Как-то так:
Код:
SetCapsLockState, AlwaysOff
TrayTip,, % "capslock: is disable"
 
Space::
; клавишу выставите по вкусу
   
SetCapsLockState, % (isState:=!isState) ? "Off":"AlwaysOff"
   
TrayTip,,
% "capslock: is "(isState ? "en":"dis")"able"
   
KeyWait,
% A_ThisHotkey
   
Return

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 23:37 29-03-2013 | Исправлено: OnMyDSeeAtAll, 05:19 30-03-2013
LonerDergunov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly
Он не найдёт, это вы указываете что надо запустить именно скрипт abc.ahk.
Как вы запускаете программы, cmd, bat, vbs-файлы?.. Вот и тут точно так же.
Можно в системе создать ассоциацию AutoHotkey.exe на файлы с расширением ahk, можно в Тотале внутреннюю ассоциацию сделать на это расширение - тогда любой ahk-файл будет запускаться по двойному клику на нём (или по одинарному в зависимости от настроек).
Ещё как вариант (без регистрации или запуском через стороннюю программу, например, на панель в Тотале повесить) - путь\AutoHotkey.exe abc.ahk
То есть AutoHotkey.exe, а в качестве параметра - ahk-файл.
Или скомпилировать ahk-файл в отдельный ехе-шник можно (фактически происходит склейка скрипта с исполняемым модулем).

Всего записей: 2972 | Зарегистр. 11-07-2007 | Отправлено: 23:45 29-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OnMyDSeeAtAll 22:37 29-03-2013
Цитата:
Как-то так:

Спасибо. Правда, creature_ws уже предложил другое рабочее решение той же самой задачи. Что в очередной раз доказывает, что многие задачи можно решить при помощи AHK массой разных способов. Теперь у меня в копилке аж два, на все случаи жизни

Цитата:
Space:: ; клавишу выставите по вкусу

А что здесь имеется в виду? Для какой цели клавишу?
 
 
LonerDergunov 22:45 29-03-2013
Цитата:
То есть AutoHotkey.exe, а в качестве параметра - ahk-файл.  

Вот про это я, собственно говоря, и спрашивал! То есть, если я хочу, чтобы при загрузке системы автоматически запускался Autohotkey.exe и загружал себе скрипты из определённого .AHK файла, то этот файл надо указать в качестве параметра. Это ясно, спасибо.
Но почему тогда у меня происходит не совсем так? В автозагрузке прописан Autohotkey.exe без параметров (только что ещё раз проверил!), который каждый раз стартует при загрузке системы и подгружает скрипты из файла %MyDocuments%\Autohotkey.ahk. Где он хранит имя этого файла? Может, есть какая-то специальная фича автоматически загружать файл с именем Autohotkey.ahk, расположенный в папке %MyDocuments%?
 
А несколько .AHK файлов можно перечислить в качестве параметров? Или лучше это делать путём подгрузки остальных файлов через директиву #Include ?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 00:41 30-03-2013 | Исправлено: oshizelly, 00:45 30-03-2013
OnMyDSeeAtAll



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
@oshizelly Видел, что уже было предложено, просто на случай если касп всё же станет нужным, посчитал не лишним вариант с отключением (поправил код).
Цитата:
Для какой цели клавишу?
Чтобы была возможность управлять.

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 05:18 30-03-2013 | Исправлено: OnMyDSeeAtAll, 17:07 30-03-2013
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А что здесь имеется в виду? Для какой цели клавишу?
 
Вам надо сперва справку почитать, большинство вопросов отпадет сразу.

Цитата:
 То есть, если я хочу, чтобы при загрузке системы автоматически запускался Autohotkey.exe и загружал себе скрипты из определённого .AHK файла, то этот файл надо указать в качестве параметра. Это ясно, спасибо.  

Сделайте ассоциацию на файлы ahk и запускайте сами скрипты, а не Autohotkey.exe.

Цитата:
Может, есть какая-то специальная фича автоматически загружать файл с именем Autohotkey.ahk

Это не фича, это ассоциация.
Вот справка вам.

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 09:55 30-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidomars 08:55 30-03-2013
Цитата:
Вам надо сперва справку почитать, большинство вопросов отпадет сразу.

Читал. Но они почему-то не отпадают Может, интенсивнее читать надо
 

Цитата:
 Сделайте ассоциацию на файлы ahk и запускайте сами скрипты, а не Autohotkey.exe.
Это не фича, это ассоциация. Вот справка вам.

Это давно уже сделано. А спрашивал я всё-таки про другое. И, если я только что-то понимаю, фрагмент справки по приведённой ссылке совсем не касается моего вопроса:
23:41 29-03-2013
Цитата:
Но почему тогда у меня происходит не совсем так? В автозагрузке прописан Autohotkey.exe без параметров (только что ещё раз проверил!), который каждый раз стартует при загрузке системы и подгружает скрипты из файла %MyDocuments%\Autohotkey.ahk. Где он хранит имя этого файла?    Может, есть какая-то специальная фича автоматически загружать файл с именем Autohotkey.ahk, расположенный в папке %MyDocuments%?

 

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 15:22 30-03-2013
LonerDergunov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly
Из справки (оригинальной, английской), история изменений:
1.0.46.08 - February 7, 2007
Changed: When AutoHotkey.exe is launched without a script specified, it will now run (or prompt you to create) the file AutoHotkey.ahk in the My Documents folder.  
По-русски - если параметры (запускаемый скрипт) не указывать, то дефолтно будет запускаться как раз таки указанный вами файл %MyDocuments%\Autohotkey.ahk
 

Цитата:
Думаю, что не в количестве дело, выставте частоту 100-250 и мешать не будут

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

Всего записей: 2972 | Зарегистр. 11-07-2007 | Отправлено: 18:32 30-03-2013 | Исправлено: LonerDergunov, 18:34 30-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LonerDergunov 17:32 30-03-2013
Цитата:
When AutoHotkey.exe is launched without a script specified, it will now run (or prompt you to create) the file AutoHotkey.ahk in the My Documents folder.  

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

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 19:27 30-03-2013 | Исправлено: oshizelly, 19:27 30-03-2013
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые спецы, ответьте, плиз, на вопрос о запуске нескольких файлов: можно ли перечислить несколько .AHK файлов файлов со скриптами в качестве параметров при запуске Autohotkey.exe? И если да, то стоит ли это делать или лучше запускать один "главный" файл, а все остальные подключать через него при помощи директивы #Include ? Или вообще объединить большинство скриптов (кроме конфликтующих друг с другом) в один большой файл?
Спасибо!

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 11:19 01-04-2013
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имхо прописать в один файл ahk все скрипты через #Include и запускать их метками как душе угодно.

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 11:08 02-04-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoHotkey


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru