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

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

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

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 21:41 08-05-2012
monsoon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На donationcoder есть много скриптов, один из них Accents. Идея его понравилась.
При повторном нажатии клавиши всплывает окошко, в котором указывается какой символ текущий и какие можно выбрать для ввода при последующих нажатиях.
   
 
В скрипте проверяется не сканкод клавиши, а сам символ.
Если нажимать в английской раскладке, все работает замечательно.  
В русской окошка не появляется и в начале вставляется латинский символ, затем при повторном нажатии - русский.
Например в настройках по умолчанию для символа "i", если нажимать последовательно эту клавишу, можно выбрать символы "п","о","м","н","i".
Но если переключиться в русскую раскладку, т.е. нажать "ш", окошко не всплывает и вводится символ "i", при повторном нажатии "i" остается и вводится "ш" и дальше по кругу.  
Добавить в ini-файл русский символ "ш" и навесить те же "п","о","м","н","i" не выходит, выдается ошибка, да и не хотелось бы дублировать в ini-файле каждую латинской букву русской.
Если навесить на "1", работает и в англ. и русской раскладках, но не работает для "1", набранной на numpad.
 
Если бы можно было переделать обработку не на символ, а на скан или виртуальный код, все проблемы бы ушли.  И можно было бы знаки препинания или особые символы навесить, например, на numpad клавиши.
 
Если кто-либо захочет посмотреть вот прямые ссылки: скомпилированный exe-файл, исходник ahk.

Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 11:58 11-05-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Лучше сформулировать пункты необходимой функциональности без упоминаний существующего «почти подходящего» решения.  
Очень уж «самобытны» скрипты по первой ссылке.

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 19:58 14-05-2012
Quasus

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

Цитата:
Если бы можно было переделать обработку не на символ, а на скан или виртуальный код, все проблемы бы ушли.

 
Сдаётся, надо всё переделывать радикальным образом. Потому что символ — это через Input, а сканкод — это просто переопределять всю клавиатуру как горячие клавиши. (В частности, прощайте, автозамены).
 
Имхо сама идея с повторными нажатиями да ещё и тултипами не очень удачная.

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 20:16 14-05-2012
Ludens

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

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 22:34 14-05-2012 | Исправлено: Ludens, 22:39 14-05-2012
monsoon



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

Цитата:
Лучше сформулировать пункты необходимой функциональности без упоминаний существующего «почти подходящего» решения.

Желаемая функциональность вообщем-то следует из приведенного скрипта, поэтому он и упоминается:
Например, очень часто, пытаясь набрать точку или запятую и нажимая эти клавиши в русской раскладке получаем "ю" или "б".
Хотелось бы увидев, что вставился не тот символ, следующими нажатиями выбрать и вставить нужный.
Например, чтобы при нажатии клавиши со сканкодом 034 с соответствующей ей буквой "ю" в русской раскладке первый раз вставился тот символ, который и д.б.
Если период ожидания повторного нажатия не истек и клавиша нажата повторно предложить для выбора, задаваемые в программе или ini-файле набор символов. В данном случае я бы добавил следующие символы ".", ">", "Ю", "ю"
 
Второй вариант, который хотел бы использовать - навесить на каждую цифровую клавишу numpad несколько каких-либо специальных символов.  
Т.е. своего рода реализация программы SpecChar на AutoHotkey.
Аналогично предыдущему варианту: при первом нажатии вставляется цифра, если период ожидания повторного нажатия не истек и клавиша нажата повторно,  для выбора предлагается соответствующий набор символов.
 
Не знаю, мне идея с использованием тултипов и использованием повторных нажатий клавиш нравится.
Например на том же donationcoder есть скрипт ClipStep, который сохраняет историю буфера обмена.
В нем если нажать Ctrl+V клип просто вставится. Если не отпуская Ctrl нажимать дальше клавишу 'V' в тултипе отображаются тексты предыдущих клипов.
Им не пользуюсь, т.к. использую более продвинутую специальную программу-менеджер буфера обмена.
 
 
Quasus

Цитата:
сканкод — это просто переопределять всю клавиатуру как горячие клавиши. (В частности, прощайте, автозамены).  

Мне достаточно нескольких клавиш. Сложность вижу в том, чтобы вставить при первом нажатии символ в текущей раскладке и текущем регистре.  
Непонятно как это повлияет на автозамены. Можете пояснить или еще лучше привести код с автозаменой, который для вышеприведенного скрипта не будет работать?

Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 16:45 16-05-2012
Zakkazak



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

Цитата:
Не знаю, мне идея с использованием тултипов и использованием повторных нажатий клавиш нравится.  
Например на том же donationcoder есть скрипт ClipStep, который сохраняет историю буфера обмена.  
В нем если нажать Ctrl+V клип просто вставится. Если не отпуская Ctrl нажимать дальше клавишу 'V' в тултипе отображаются тексты предыдущих клипов.  

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

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 17:30 16-05-2012
Quasus

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

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 17:42 16-05-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Теперь идея понятна. Не вижу рациональности в повторном множественном нажатии для ввода специфического символа.
«Родным» способом ввода спецсимволов с клавиатуры ПК всегда было использование клавиши модификатора, чай пк не телефон, двумя пальцами печатать не обязывает.
Обсуждаемый способ лишь уменьшит скорость набора до «приемлемой для телефона».

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 02:57 17-05-2012
Risovod



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

Цитата:
sConnection = Сеть
NetConnect (bEnable, sConnection)
strEnableRus := "&Подключить"
CSIDL_CONNECTIONS := 0x31

где "сеть" - название сетевого подключения

Всего записей: 939 | Зарегистр. 12-11-2006 | Отправлено: 20:30 09-06-2012 | Исправлено: Risovod, 20:40 09-06-2012
creature_ws



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

Код:
ToggleConnection("Сеть")
 
ToggleConnection(sConnection) {
    For oConn In ComObjCreate("Shell.Application").Namespace(0x0031).Items
        If (oConn.Name = sConnection) {
            oConn.Verbs.Item(0).DoIt
            return
        }
    msgbox Connection Not Found
}

 
Наверняка речь не о том подключении, для автоматического подключения к VPN при старте windows соответствующую галочку в настройках подключения поставить достаточно.

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 14:24 12-06-2012 | Исправлено: creature_ws, 14:38 12-06-2012
Vitti

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В инете прочитал что через Send русские символы отправляются, если в текущем приложении установлена русская раскладка, но у меня всеравно получаются квадраты. Как решить проблему?

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

Всего записей: 599 | Зарегистр. 21-01-2007 | Отправлено: 21:49 12-07-2012
Quasus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> В инете прочитал что через Send русские символы отправляются, если в текущем приложении установлена русская раскладка, но у меня всеравно получаются квадраты. Как решить проблему?
 
Хорошо бы больше информации, включая неработающий пример, версию AHK и кодировку скрипта. А так могу посоветовать установить AutoHotkey_L, и проблем с юникодом вообще не будет никаких. Только следите, чтобы скрипты были в UTF-8.

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 23:34 12-07-2012
Vitti

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Quasus
Версия АХК - AutoHotkey_L 1.1.07.03 - March 25, 2012
Процедура проста:
#0::
Send, Ля
Return
 
Скрип был в кодировке ОЕМ. Пересохранил в UTF-8 - стало работать как надо.  
А в ОЕМ никак нельзя сделать чтоб работало? Конвертирование может какое сделать?
 
Добавлено:
Quasus
Вобщем я переконвертировал скрипты из досовской кодировки в утф-8. Проблема исчерпана. Большое спасибо!

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

Всего записей: 599 | Зарегистр. 21-01-2007 | Отправлено: 01:07 13-07-2012
Quasus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Рад помочь. Что касается OEM и AutoHotkey_L, думаю, вряд ли их так просто можно подружить, проще перекодировать.

Всего записей: 43 | Зарегистр. 08-05-2012 | Отправлено: 11:32 13-07-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На всякий случай сообщу — с версии 1.1.08 unicode сохранять скрипты следует в UTF-8 c BOM.

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 19:00 16-07-2012
Vitti

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В 1.1.08 корректно отрабатывает кириллица в кодировке 1251 в операторе Send. А в досовской кодировке уже не квадратики, а закорючки.  
(относительно моего вопроса чуть выше)

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

Всего записей: 599 | Зарегистр. 21-01-2007 | Отправлено: 00:50 17-07-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В 1.1.08 от скриптов ожидается системная ANSI, закорючки потому как не oem -> Utf, а oem -> 1251

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 00:55 17-07-2012
Real Root



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Товарищи, прошу помощи.
Есть скрипт:
Loop
{
IfWinExist, Калькулятор Плюс
{
    SoundSet, 1,, Mute
}
else
{
SoundSet, 0,, Mute
}
Sleep 500
}
Под XP работает, под семеркой не хочет - даже свой микшер не блокирует... Может есть какой сверхсвежий бета билд - может там это поправлено?
пробовал на версии 1.1.05.06

Всего записей: 1037 | Зарегистр. 13-04-2006 | Отправлено: 01:58 19-07-2012
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересно, а где вы такой «свежий» билд раскопали?
Актуальная версия 1.1.08.00
 
Под семёркой пример работать как ожидается будет лишь если скрипт скопмилировать и запустить в режиме совместимости с XP.
 
Можете отправлять нажатие кнопки Volume_mute или воспользоваться Vista Audio Control библиотекой с офф форума.

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 02:10 19-07-2012 | Исправлено: creature_ws, 02:14 19-07-2012
Открыть новую тему     Написать ответ в эту тему

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