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

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

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

chum2000

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

   
 
Актуальная версия: AutoHotkey 1.1.30.03 от 4 апреля 2019
 
Официальный сайт | Англоязычный форум | Архивный форум | Русскоязычный форум
Документация (англ.) | Документация и статьи (рус.) | История изменений
 
Подборка полезных скриптов | AutoHotkey + Total Commander
 

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

Всего записей: 503 | Зарегистр. 04-03-2004 | Отправлено: 00:28 02-06-2005 | Исправлено: DimmY, 16:40 09-06-2019
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Risovod
Control, Check, , Button5, WinTitle, [WinText, ExcludeTitle, ExcludeText]
;Control, UnCheck, , Button5, WinTitle, [WinText, ExcludeTitle, ExcludeText]
 
Lia_F
Если достаточно некорректного прерывания процесса Test.exe:
Process, Close, Test.exe  
ExitApp
 
Переводы документации и другие статьи на русском языке по AutoHotkey одним chm-файлом по состоянию на 11.10.2008 можно взять здесь: AutoHotkey.zip

Всего записей: 224 | Зарегистр. 29-03-2016 | Отправлено: 09:59 29-09-2016 | Исправлено: kykrinik, 10:27 29-09-2016
Risovod



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lia_F, тогда просто добавить в автозагрузку вот такой скрипт:

Код:
Loop
{
lEndTask:
DetectHiddenWindows, On
vWin := "Test.exe"
SetTitleMatchMode, 2
}
Return

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

Всего записей: 872 | Зарегистр. 12-11-2006 | Отправлено: 11:24 29-09-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Risovod, это бессмыслица. Прочтите уже справку.

Всего записей: 224 | Зарегистр. 29-03-2016 | Отправлено: 11:48 29-09-2016
Risovod



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kykrinik
Спасибо за упрощенный код.
 
Я так понял, что у Lia_F этот процесс "Test.exe" в результате каких-то действий время от времени загружается и тем самым надоедает, поэтому и написал такой код, который не дает "Test.exe" запуститься.
Если не правильно понял (основывался на словах Lia_F "постоянно и глобально") и некрасиво написал код, то пардон, но он с вышесказанным справляется.
P.S.
Process, Close однократно закроет процесс и при повторной нужде его закрыть нужно будет снова запускать скрипт.
Если с данным процессом "Test.exe" работают, а потом не могут закрыть, тогда нужно назначить клавишу для его закрытия и добавить в цикл, что бы скрипт после успешно выполненного задания не выгружался.
В остальном, Ваш вариант лучше.

Всего записей: 872 | Зарегистр. 12-11-2006 | Отправлено: 12:00 29-09-2016 | Исправлено: Risovod, 12:14 29-09-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Risovod
Вы ошиблись. Скопируйте свои строки в пустой файл ahk и запустите, потом прочтите уже справку.))

Всего записей: 224 | Зарегистр. 29-03-2016 | Отправлено: 12:55 29-09-2016
Risovod



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kykrinik
Действительно. Не могу понять в чем дело, что упустил. Перед публикацией проверял - работал.

Всего записей: 872 | Зарегистр. 12-11-2006 | Отправлено: 14:17 29-09-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В Справке (AutoHotkey.chm) есть вкладка Поиск, вводите свои команды и читайте их описание.

Всего записей: 224 | Зарегистр. 29-03-2016 | Отправлено: 14:33 29-09-2016 | Исправлено: kykrinik, 14:36 29-09-2016
Lia_F

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне бы не хотелось объяснять зачем мне это нужно, простите, но то, что должен делать скрипт, я могу попытаться переформулировать, что бы было понятнее.
Программу Test.exe я запускаю сама и многократно, т.е. после того, как я завершила ее с помощью скрипта, я ее опять буду запускать. И мне опять понадобится завершить ее с помощью скрипта.
В идеале хотелось бы, что бы скрипт при этом мне перезапускать не приходилось.
И да, 'завершение' программы здесь подразумевает именно немедленное закрытие процесса, а не корректный выход из.
Спасибо.

Всего записей: 103 | Зарегистр. 05-09-2006 | Отправлено: 15:00 29-09-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lia_F
Код:
#SingleInstance, Force    ;разрешён только один работающий экземпляр скрипта
Loop    ;цикличное выполнение набора строк в скобках:
    {    
    Sleep, 1000    ;период бездействия в миллисекундах, 1000=1 секунда, 120000=2 минуты и т.д.
    Process, Close, Test.exe    ;Убивает процесс
    }
Return
Закрытие скрипта - из меню иконки в трее.
Если у вас AutoHotkey Unicode, кодировка файла ahk должна быть тоже Unicode.
Если убивать Test.exe надо ровно через определённое время после запуска Test.exe, то надо иначе.

Всего записей: 224 | Зарегистр. 29-03-2016 | Отправлено: 15:34 29-09-2016 | Исправлено: kykrinik, 16:10 29-09-2016
Risovod



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

Код:
#SingleInstance, Force    ;разрешён только один работающий экземпляр скрипта
Loop    ;цикличное выполнение набора строк в скобках:
    {    
    Esc::    ;при нажатии на клавишу Esc
    Process, Close, Test.exe    ;Убивает процесс программы Test.exe
    Return  
    }
Return  
^Esc::   ;при нажатии сочетания клавиш Сtrl+Esc
ExitApp     ;Завершает выполнение скрипта
Return  

Всего записей: 872 | Зарегистр. 12-11-2006 | Отправлено: 16:38 29-09-2016
Lia_F

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы правы, Risovod, программа запускается произвольно не через определенные промежутки времени. И совсем не всегда мне нужна возможность ее 'убить' при помощи нажатия клавиши. Т.е. мне абсолютно не нужно автоматическое выполнение этой задачи. Просто возможность сделать это нажав одну клавишу тогда, когда это требуется.
Спасибо.

Всего записей: 103 | Зарегистр. 05-09-2006 | Отправлено: 21:55 29-09-2016 | Исправлено: Lia_F, 21:56 29-09-2016
Risovod



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо kykrinik за его знания команд.
 
Подскажите как с помощью команд AHK запустить драйвер сканера ScanGear MF (окно, в котором настройки сканирования и запуск процесса)?
Сам драйвер на ПК не нашел, но окно запускается другими приложениями.

Всего записей: 872 | Зарегистр. 12-11-2006 | Отправлено: 21:03 30-09-2016
Krot66



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надо извлечь командную строку окна с помощью утилит типа Process Explorer или Process Hacker. Дальнейшие подробности в описании команды Run (гарантий, что это получится, нет).

Всего записей: 591 | Зарегистр. 10-12-2007 | Отправлено: 21:35 30-09-2016 | Исправлено: Krot66, 21:36 30-09-2016
GalileoG1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно заменить клавишу INSERT и заставить её работать как END также, чтобы с SHIFT она тоже работала (для выделения текста).  
 
сделал такой код:  
 
Insert::SendInput, {END}  
+Insert::SendInput, +{END}  
 
всё работает отлично, но: Нужно чтобы иная комбинация клавишь: допустим  
Ctrl+INSERT - работала как обычный INSERT но никак не получается сделать это через SendInput  
 
кто подскажет решение?

Всего записей: 2 | Зарегистр. 30-09-2016 | Отправлено: 12:44 04-10-2016
Krot66



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GalileoG1
Ты используешь для посылки ту же клавишу, по которой идет срабатывание. Надо либо писать $^Ins, что включает клавиатурный хук, либо дождаться ее отпускания (KeyWait Ins) и уже затем посылать требуемое

Всего записей: 591 | Зарегистр. 10-12-2007 | Отправлено: 17:34 04-10-2016
Werty666



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хочу эмулировать мышкой контр+а, к примеру одновременным (важна последовательность?) ПКМ и ЛКМ, как поправить код
 
RButton LButton::Send, ^{vk41}
 

Всего записей: 253 | Зарегистр. 20-07-2008 | Отправлено: 16:00 29-10-2016
Krot66



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RButton & LButton::Send, ^{vk41}
Если перестанет работать правая кнопка, добавь
RButton::RButton

Всего записей: 591 | Зарегистр. 10-12-2007 | Отправлено: 16:56 29-10-2016
Werty666



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Крот, спасибо, правая кнопка и вправду отвалилась)) интересно в какой порядке считывается код, в будущем хватит одного сопоставления правая-правая или будет глючить и надо прописывать в конец кода
 
добавлено - появилось только контекстное меню. перестали работать жесты ПКМ в браузере, если понимаете о чем я (управление страничкой итд правой кнопкой)

Всего записей: 253 | Зарегистр. 20-07-2008 | Отправлено: 17:27 29-10-2016 | Исправлено: Werty666, 17:44 29-10-2016
Krot66



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще-то еще до этого не будут работать rocket gestures с переходами вперед-назад по нажатиям левой и правой кнопкой мыши, но раз вы так бодро решили использовать такую комбинацию, я так понял, что это и не интересует.
В таком случае надо написать что-то вроде

Код:
RButton::
SendInput {RButton down}
KeyWait RButton
SendInput {RButton up}
return

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

Всего записей: 591 | Зарегистр. 10-12-2007 | Отправлено: 18:04 29-10-2016 | Исправлено: Krot66, 18:10 29-10-2016
Werty666



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не, не работает(( наверное надо ктрл+а на другую комбинацию вешать, эх... кнопочег то немного на мыше

Всего записей: 253 | Зарегистр. 20-07-2008 | Отправлено: 18:09 29-10-2016
Открыть новую тему     Написать ответ в эту тему

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

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

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru