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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
vadim3sh



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

Цитата:
 также генерирует нажатие на Alt+Space

гии.. у меня тоже. Ну тут надо OnMyDSeeAtAll звать.. Не моя весовая категория. "Сам использую" - имелось в виду замена PostMessage на Send.
Насчет
Цитата:
навигации внутри модальных окон диалогов
, если этоони, то я ни оч понявши...
Может, если не трудно, на пальцах? Я потом честно проверю.. Хотя через PostMessage наверняка будет глючить..
P.S. Я сейчас не на своем компутере.. Если не лень, попробуйте так, пробел не уйдет?

Код:
CapsLock::  
   Send {Shift Down}{Alt}{Shift Up}
   KeyWait, CapsLock                
   Send {Shift Down}{Alt}{Shift Up}
 Return  
Alt & CapsLock::SetCapsLockState, Off
return  

 
Типа.. ну а вдруг
 
 
 

Всего записей: 457 | Зарегистр. 28-01-2006 | Отправлено: 04:52 25-08-2014 | Исправлено: vadim3sh, 04:58 25-08-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadim3sh 03:52 25-08-2014  
Цитата:

Цитата:
навигации внутри модальных окон диалогов  

если это [?]они, то я ни оч понявши..   . Может, если не трудно, на пальцах? Я потом честно проверю..

Если очень упрощённо,  то модальное окно - это дочернее окно приложения, открываемое поверх главного окна. Например, окно настроек. Когда оно открыто, теряется доступ к главному окну.
 
Вот пример. Вызываем Notepad (разумеется, с английским интерфейсом). В главном меню выбираем, например, команду Files => Save as...
или, к примеру, Edit => Replace или Format => Font. Вот эти диалоги с настройками, которые открываются при этом, и есть частный случай модальных окон. Ага?
 
Дальше, вызвав диалог Files => Save as... переключаемся на английскую раскладку клавиатуры и жмём комбинацию клавиш <Alt>+<E> и потом <Down> (стрелка вниз). Мы перепрыгнули к полю [Encoding] выпадающему списку выбора кодировки выходного файла.
 
А теперь запустим наш скрипт. Переключимся на русскую раскладку. Зажмём <CapsLock>. И попробуем в том же диалоге Files => Save as... перепрыгнуть к полю выбора кодировки выходного файла, нажимая комбинацию клавиш <Alt>+<E>.  У меня так не получается. А у вас?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 13:44 25-08-2014
vadim3sh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly  
1. В модальных окнах (firefox, akelpad) работает, notepad - нет
2. Пробел, кстати, ушел
3. Не работает еще кое-где: напр. ... черт, потерял в какой программе не сработал.. короче, после Alt+F (меню файл) в этом меню один из пунктов срабатывать отказался.

Всего записей: 457 | Зарегистр. 28-01-2006 | Отправлено: 02:58 26-08-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadim3sh 01:58 26-08-2014  
Цитата:
1. В модальных окнах (firefox, akelpad) работает, notepad - нет    

Mozilla FireFox - совсем неудачный пример. Это кроссплатформенный мутант, который в Windows' работает совсем не так, как подавляющее большинство "нормальных" приложений. О чём тут говорить, если в окнах FF под Windows' часто не работает нормально (или вообще не работает) даже разнообразный софт для захвата изображения с экрана Почему так происходит - никто до сих внятно не объяснил, хотя выдвинули мильон разных версий, но сам факт этой специфики общеизвестен.
 
Про Akelpad не скажу, но, возможно, там то же самое.  
 
Поэтому я предпочитаю проверять работоспособность любых универсальных решений под Windows' именно на Notepad, которым в реальной жизни почти никогда не пользуюсь. Если сработало в Notepad, то, скорее всего, сработает и в большинстве "нормальных" приложений.
 

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 10:46 26-08-2014
nibble74

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, приветствую !  помогите скрип написать, сам не могу, не имею глубоких познаний в этом.  
 
Вообщем такой, висит в трее и ждёт процесса, как запустился нужный процесс "имя.exe" запускаются однократно клавиши "Ctrl+Alt+h" - после завершения процесса "имя.exe" снова запустились однократно "Ctrl+Alt+h" и скрип в ожидании.
 
Помогите плиз, голова уже пухнет от экспериментов, нужен наглядный пример.

Всего записей: 17 | Зарегистр. 30-12-2013 | Отправлено: 01:07 20-09-2014
Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
start:
Process wait, имя.exe
Посылка клавиш
Process WaitClose, имя.exe
Посылка клавиш
goto start
 
Специи, задержки  и ограничение времени ожидания по вкусу

Всего записей: 1204 | Зарегистр. 10-12-2007 | Отправлено: 13:55 20-09-2014
nibble74

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Krot66
 
Вот спасибо, оказалось всё просто и легко )

Всего записей: 17 | Зарегистр. 30-12-2013 | Отправлено: 15:20 20-09-2014
vadim3sh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Krot66
И от меня спасибки.  
Люди, подскажите, плз, кто в курсе: вот "start:" - это метка (вроде как )
Метки используются в достаточно большом количестве случаев. Но в справке как-то про них отдельно не пишут..  
Ну, например: записывается именно так (start: ), с двоеточием. А откуда это известно? Может, я просто нужный раздел не нашел? Тогда, если не трудно, тыкните носом.
 
 

Всего записей: 457 | Зарегистр. 28-01-2006 | Отправлено: 20:00 21-09-2014 | Исправлено: vadim3sh, 22:39 21-09-2014
OnMyDSeeAtAll



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadim3sh 20:00 21-09-2014
Цитата:
Может, я просто нужный раздел не нашел?
По-видимому.

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 20:34 22-09-2014 | Исправлено: OnMyDSeeAtAll, 20:36 22-09-2014
vadim3sh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OnMyDSeeAtAll
Fu...k! И раздел, и весь сайт! А ведь говорили великие люди дуракам: "читайте первоисточники"!
Спасибо !

Всего записей: 457 | Зарегистр. 28-01-2006 | Отправлено: 05:23 23-09-2014
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте самый нормальный "создатель макросов" под AHK, находил несколько, но чет они корявые какие-то.  
Приглянулся этот, X-Macro Recorder v2.0.2 (XMR2.0.2.ahk) (тут зеркало), но у него есть минус, он не видит русские буквы.  
 
Если записывать например порядок: открыть блокнот, написать по-английски, поменять раскладку, написать по-русски, потом все это воспроизвести, и в итоге обе строки будут на английском -(
 
Подскажите пожалуйста, как добавить поддержку кириллицы в этот рекордер?
 
Если что, код этого рекордера:
Подробнее...

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 22:04 30-09-2014 | Исправлено: thejustsoul, 22:19 30-09-2014
OnMyDSeeAtAll



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

Цитата:
...как добавить поддержку кириллицы в этот рекордер?
В функции KeyboardRecord (599 линия кода) меняем содержимое строк на:
Код:
;         Hotkey, ~*$%A_LoopField%, KeyBoardRecord, %State% UseErrorLevel
;         Hotkey, ~*$%A_LoopField% Up, KeyBoardRecord, %State% UseErrorLevel
     
Hotkey, % FormatKeyVK(GetKeyVK(A_LoopField)), % "KeyBoardRecord", % State " UseErrorLevel"
     
Hotkey,
% FormatKeyVK(GetKeyVK(A_LoopField))" Up", % "KeyBoardRecord", % State " UseErrorLevel"
Добавляем ещё функцию в конец кода:
Код:
FormatKeyVK(p)
{
   
Static
sSfx:=A_IsUnicode ? "W":"A"
   
   
; http://msdn.microsoft.com/en-us/library/windows/desktop/ms647550(v=vs.85).aspx
   
DllCall
("wsprintf"sSfx, "Str", res:="ahk4rever"
                         
, "Str", "~*$vk%X"
                         
, "UInt",
p
                         
, "Cdecl")
   
Return,
res
}

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 16:09 01-10-2014
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OnMyDSeeAtAll
Большое спасибо, все работает!  
Маленький вопрос, а рекордеры вообще проверяют в какой раскладке они записывают и вводят? Т.е. если записано все в англ. раскладке, но при воспроизведении, в блокноте например, стоит рус. раскладка, то введется на русском (=инвертировано, т.е. не как задумывалось). Или это потом руками в макросе редактировать (искать отдельно функцию проверки если такая есть вообще и прописывать)?
 
И вообще мелкий вопрос, в коде выше в строке:
%State% UseErrorLevel  
а в исправленном:  
% State " UseErrorLevel"
"%" не хватает после State или так и должно быть?

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 19:03 01-10-2014 | Исправлено: thejustsoul, 19:08 01-10-2014
OnMyDSeeAtAll



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

Цитата:
...а рекордеры вообще проверяют в какой раскладке они записывают и вводят?
Думаю что нет, да и зачем этот функционал им?, их задача в другом.
Цитата:
..."%" не хватает после State или так и должно быть?
Об этом можно почитать в обзаце Чтение содержимого переменных русской справки.

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 23:07 01-10-2014
thejustsoul



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

Цитата:
Об этом можно почитать в обзаце Чтение содержимого переменных русской справки.

Теперь ясно, спасибо еще раз.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 09:09 02-10-2014
ZevSforum

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребят, токо увидел такую прогу, случайно, офигеть класс. Изучил много чего, даже получилось как на первый раз ). Но есть вопросы.
 
У меня при сканировании, надо нажать 5 разных кнопок прежде чем запускается сканирование.
Так вот, в проге когда она жмет кнопки по очереди что я вписал, каждый раз окно становится активным (появляется на передний план), то есть параллельно что-то делать в этот момент - нереально, ибо окно вылазит постоянно.  
 
Вопрос:  
1. Есть-ли команда, чтобы все действия выполнялись в фоне, не активируя каждый раз окно на передний план??  
2. Есть ли такая же команда для открытия новых окон, чтобы они открывались тоже в фоне?
 
3. И еще. Одну кнопку никак немогу забить на выполнение. Просто апздец. Я правда обошел ее, заманухами умными, но это муторно, и все-же интересно в чем трабла.
Скрин -  
   
 
Команда:

Код:
ControlClick CMyBmpButton2_Class10, ScanGear  

- ее не активирует . Хотя кнопка настройки которая рядом и имеет название "Button10" - активируется, значит все гуд, окно прога видит. Че за название такое умное у кнопки? Как ее прописать?

Всего записей: 656 | Зарегистр. 11-09-2003 | Отправлено: 03:36 03-10-2014 | Исправлено: ZevSforum, 04:16 03-10-2014
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как написать скрипт, чтобы он передавал любые переданные ему параметры в запускаемую программу.. Т.е. например такой маленький скрипт для запуска ФФ в портативном режиме:

Код:
#NoTrayIcon
#NoEnv
RunWait, "%A_ScriptDir%\firefox.exe" -profile "%A_ScriptDir%\profile"
Return
 

Если его запустить как "script.ahk param1 -param2 -other_param3", то он не передает их программе, а надо чтобы можно было передать любые в любом кол-ве, подскажите как?

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 14:52 05-10-2014
Krot66



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

Всего записей: 1204 | Зарегистр. 10-12-2007 | Отправлено: 19:30 05-10-2014
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Krot66
Я не просил давать ссылки на сайты, а попросил конкретное решение вопроса (этот материал я уже читал до того как спрашивать, и не только его, и там нет ничего, что бы мне помогло (я не спец в AHK), больше 3 часов гугления тоже не дало никакого результата. Все, что находил, не работало.
 
Раз уж вы нашли эту страницу (и считаете, что она поможет), помогите с решением вопроса?
 
Вопрос для знающих AutoHotKey, я уверен очень простой, всего лишь нужно определить, есть ли передаваемые параметры\аргументы скрипту и если есть запустить программу со всеми переданными параметрами (как есть), если нет, то запустить без параметров.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 20:12 05-10-2014
Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
thejustsoul
Параметры передаются скрипту в виде переменных %1%, %2% и пр. Их и надо использовать в Run
P.S. И спокойнее надо быть - здесь вам никто ничего не должен

Всего записей: 1204 | Зарегистр. 10-12-2007 | Отправлено: 12:13 06-10-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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