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

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Жаль, потому что аналоги умеют конвертировать строки в другую раскладку. Но у WireKeys запутанная настройка и кажетс глюки: http://forum.ru-board.com/topic.cgi?forum=35&topic=18345&start=220#11
А запускать 2 программы по обработке клавиш как-то неправильно, имхо. И не хочется память захламлять, ее немного.

Всего записей: 385 | Зарегистр. 23-07-2007 | Отправлено: 08:53 20-05-2010
monsoon



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

Цитата:
аналоги умеют конвертировать строки в другую раскладку

На 7-й странице темы я выкладывал ссылку на скрипт для исправления En<->Ru раскладки. Скрипт wOxxOm отлично отрабатывает в последних версиях макстона, где бессильны и пунто и арум.  Дописал для себя в скрипте как сумел автоматическое выделение по горячей клавише.  
К недостаткам можно отнести:
1) выделение заметно визуально
2) скрипт не работает или работает неправильно в консольных приложениях.
3) очень редко, но бывает, что в результате перекодировки вставляется белиберда, скорее всего, из-за каких-то конвертаций  ANSI<->UTF буфера.

Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 13:42 20-05-2010 | Исправлено: monsoon, 13:51 20-05-2010
GuessAMelody

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте
Подскажите пожалуйста, у меня следующая проблема:
Переустановил винду, теперь мой макрос не работает  
Пишет Error At Line 17  
Line Text z::onoff:=PharmOn(onoff)
Error : Invalid Hotkey
 
Макрос восспроизводит нажатие на Ф2 и два раза Ентер
#Persistent
 
onoff=0
 
PharmOn(st){
    if st=0
    {
        SetTimer, Pharm1, 50
        return 1
    }
    SetTimer, Pharm1, Off
    return 0
}
 
SetTimer, Pharm1, Off
 
z::onoff:=PharmOn(onoff)
return
 
Pharm1:
    Send {F2}
    Sleep 100
    Send {Enter 2}
return
 
Версия 10.48.05 ,Винда XP Sp3
 

Всего записей: 2 | Зарегистр. 22-05-2010 | Отправлено: 17:27 22-05-2010
Jack of Shadows



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GuessAMelody, язык по умолчанию русский в системе поставился?
Здесь читайте: http://script-coding.info/AutoHotkey/AhkRussian_3b.html

Всего записей: 367 | Зарегистр. 08-11-2003 | Отправлено: 20:40 22-05-2010
GuessAMelody

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, система стоит на русском.
Что конкретно в этой статье нужно для меня?
 
Добавлено:
Всё, спасибо, разобрался

Всего записей: 2 | Зарегистр. 22-05-2010 | Отправлено: 20:54 22-05-2010
helller

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, подскажите скриптик, чтобы в точке установленного курсора нажатием средней кнопки мыши имитировать двойное нажатие ctrl.

Всего записей: 15 | Зарегистр. 21-12-2007 | Отправлено: 02:35 26-09-2010
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исполнился ровно год последнему обновлению сабжа. :( :(

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 12:22 26-09-2010
Vitti

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно как-то переназначить двойной клик мыши (левой или правой кнопки - не важно)?

----------
ru-board

Всего записей: 599 | Зарегистр. 21-01-2007 | Отправлено: 20:43 18-10-2010
wolf0425



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. как сделать, чтоб хоткей работал только для одной из программ  - т.е. подменял коследовательность только когда активно окно процесса program.exe. А в остальных случаях происходила прозрачная передача нажатия всех кнопок другим приложениям, ничего не изменяя?
 
2. Как сделать, чтоб после закрытия всех окон приложения program.exe - закрывался и связанный с ним сеанс AutoHotkey ?

Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:20 05-11-2010
aidomars



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

Цитата:
1. как сделать, чтоб хоткей работал только для одной из программ  - т.е. подменял коследовательность только когда активно окно процесса program.exe. А в остальных случаях происходила прозрачная передача нажатия всех кнопок другим приложениям, ничего не изменяя?  

#IfWinActive, program
#1::MsgBox

Цитата:
2. Как сделать, чтоб после закрытия всех окон приложения program.exe - закрывался и связанный с ним сеанс AutoHotkey ?

 
SetTimer, Timer, 100
return
 
Timer:
IfWinNotExist, program
exit
return

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 17:07 05-11-2010
wolf0425



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

Цитата:
#IfWinActive, program  
и как там указать имя процесса, а не имя его окна?
 

Цитата:
IfWinNotExist, program
exit
return
а эта последовательность не выгружает сам AutoHotkey, только лишь терминирует скрипт, и опять же непонятно как привязать ее к имени процесса, а не к именам окон...

Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 02:38 06-11-2010
aidomars



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

Цитата:
и как там указать имя процесса, а не имя его окна?  

Process, Exist, program.exe ; помещает в ErrorLevel идентификатор процесса (PID), если соответствующий процесс существует
If ErrorLevel = 0 ; если PID не существует...
ExitApp ; завершаем скрипт
Else
PID := ErrorLevel ; присваиваем PID
WinGet, OutputVar, List, ahk_pid %PID% ; Возвращает ID всех существующих окон, подходящих под параметры
ну а дальше как указано в верхнем посте

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 11:32 06-11-2010 | Исправлено: aidomars, 11:34 06-11-2010
wolf0425



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

Цитата:
Process, Exist, program.exe ; помещает в ErrorLevel идентификатор процесса (PID), если соответствующий процесс существует  

если program.exe запущена в двух экземплярах - то получим все равно один pid
 

Цитата:
Возвращает ID всех существующих окон, подходящих под параметры  
что бесполезно  - получаем список из одного элемента, так как pid указали один. с вероятностью 50% это pid не того экземпляра program.exe что активен в текущий момент.
 

Цитата:
ну а дальше как указано в верхнем посте
т.е. задача определения является ли текущее окно - окном процесса program.exe по прежнему не решена.
 
задача автозакрытия AutoHotkey - тоже никак не решена, так как  ExitApp завершает скрипт только при его запуске в отсутствие program.exe, а не закрывает  AutoHotkey после закрытия program.exe  

Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 22:53 06-11-2010 | Исправлено: wolf0425, 22:57 06-11-2010
aidomars



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

Цитата:
как сделать, чтоб хоткей работал только для одной из программ  - т.е. подменял коследовательность только когда активно окно процесса program.exe

не понятно, окно ли надо отслеживать, процесс ли...

Цитата:
если program.exe запущена в двух экземплярах - то получим все равно один pid  

Можно почитать справку к программе, где приведенный пример составляет список выполняющихся процессов через DllCall.
А обратиться на форум не пробовали? Я сам то только учусь...

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 00:05 07-11-2010
wolf0425



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

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

Цитата:
где приведенный пример составляет список выполняющихся процессов через DllCall.  
ну если список процессов есть в справке (чего я не увидел, почему-то) то всё равно остается вторая половина вопроса - собственно как скомандовать AutoHotkey закрыться и выгрузиться. Причем не абстрактному AutoHotkey, а исполняющему конкретный скрипт.
 
нет, на форум AHK пока не пробовал, надеялся что спрашиваю что-то тривиальное и нужно просто понять какой раздел хэлпа читать.

Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 03:59 07-11-2010 | Исправлено: wolf0425, 04:04 07-11-2010
wolf0425



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

Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 00:31 08-11-2010 | Исправлено: wolf0425, 00:34 08-11-2010
m0nty2k5



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

Код:
    if GetKeyState("NumLock", "T")
        SetNumlockState, off
    else
        SetNumlockState, on
 

Этот код можно упростить?

Всего записей: 1129 | Зарегистр. 16-03-2005 | Отправлено: 02:41 07-12-2010
zzzUUUzzz

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

Цитата:
Дописал для себя в скрипте как сумел автоматическое выделение по горячей клавише.  
К недостаткам можно отнести:
1) выделение заметно визуально
2) скрипт не работает или работает неправильно в консольных приложениях.
3) очень редко, но бывает, что в результате перекодировки вставляется белиберда, скорее всего, из-за каких-то конвертаций  ANSI<->UTF буфера.  

а можно дописать и для меня? =) хочется испытать... кстати, 3 пункт решаем, если я не путаю, здесь:
http://www.forum.script-coding.com/viewtopic.php?id=1073

Всего записей: 216 | Зарегистр. 12-12-2007 | Отправлено: 11:27 04-01-2011 | Исправлено: zzzUUUzzz, 11:31 04-01-2011
Asher23

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При запуске скрипта выдаёт ошыбку:
[img=http://imagesbase.com/upload/view/y_13__137181_acenrwx456.jpg]
Самое интересно что у знакомого все норм работает!

Всего записей: 2 | Зарегистр. 15-03-2011 | Отправлено: 00:13 15-03-2011 | Исправлено: Asher23, 00:14 15-03-2011
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Asher23
поменяй раскладку по умолчанию или используй коды клавиш

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 17:40 15-03-2011
Открыть новую тему     Написать ответ в эту тему

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