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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kykrinik
о, супер! Да, так работает. Спасибо!
Но что это было и почему? Почему раньше канало по-простому, а теперь нет?

Всего записей: 1512 | Зарегистр. 16-01-2006 | Отправлено: 00:03 26-06-2017
kykrinik

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

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 09:28 26-06-2017 | Исправлено: kykrinik, 09:32 26-06-2017
maxbald



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
устал бороться
 
есть вот такой скрипт:
vkB7::vkBB ; вызов калькулятора на равно
vk5C::vk2E ; правый виндовз на мышке на Delete
Xbutton1::^F4 ; допкнопка на мышке на cntr+f4
!Xbutton1::!F4 ; допкнопка на мышке на alt+f4
 
в браузере работает отлично
в автокаде, акробате
работает сразу после релоада
при переходе в другое окно и возврате назад, перестает работать
с такими сообщениями
 
---- C:\Program Files\AutoHotkey\remap.ahk
002: SetKeyDelay "0"
003: Return (5.25)
005: SetKeyDelay "-1"
005: Send "{Blind}^{F4 DownTemp}"
005: Return (0.11)
005: SetKeyDelay "-1"
005: Send "{Blind}{F4 Up}"
005: Return (69.48)
005: SetKeyDelay "-1"
005: Send "{Blind}^{F4 DownTemp}"
005: Return (0.11)
005: SetKeyDelay "-1"
005: Send "{Blind}{F4 Up}"
005: Return (98.02)
 
Press [F5] to refresh.
 
как то я его настроил предыдущий раз
запускал вроде бы через планировщик с правами администратора
сейчас это не помогает
куда копать?

Всего записей: 108 | Зарегистр. 07-07-2006 | Отправлено: 14:44 04-08-2017
Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дело не в планировщике и не вправах. Простое замещение горячих клавиш часто работает криво. Перепишите все с помощью команды Send, и, скорее всего, проблемы решатся. Иногда помогает добавление "$" перед горячей клавишей или " up" после нее

Всего записей: 1201 | Зарегистр. 10-12-2007 | Отправлено: 16:18 04-08-2017
thejustsoul



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

Код:
#NoEnv
#Persistent
#SingleInstance force
 
SetTimer, OnIdle, 3000
TimerDelay := 300000 ; 5 минут
 
OnIdle:
If (A_TimeIdle > TimerDelay) {
    SoundGet, mute, , mute, 4
    If mute = Off
        SoundSet, +1, , mute, 4
    ;return
} Else {
    SoundGet, mute, , mute, 4
    If mute = On
        SoundSet, +1, , mute, 4
    ;return
}
return

На основе этого.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 17:25 17-08-2017
SergeOnDrugs

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

Всего записей: 1 | Зарегистр. 24-09-2010 | Отправлено: 02:05 22-08-2017 | Исправлено: SergeOnDrugs, 02:06 22-08-2017
OnMyDSeeAtAll



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

Цитата:
...надо ввести какую-то переменную, чтобы сверять...
Подробнее...

Всего записей: 100 | Зарегистр. 08-07-2011 | Отправлено: 02:07 22-08-2017
tramparamparam02



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Несколько лет назад видел в каком-то текстовом редакторе такую фичу: можно было копировать / вырезать текст, не выделяя его. Там был набор хоткеев, которые копировали или вырезали в буфер текущее слово, абзац, строку, фразу (то есть, текст между двумя точками). Не помню уже, что это был за редактор, мало что запомнилось- за исключением вот этой уникальной фичи.  
 
А теперь вот думаю, нельзя ли подобное реализовать на глобальном уровне через AHK? Посмотрел на форумах, вроде бы не нашёл ничего на эту тему. Значит, сабж такого не может? Или просто никому до сих пор не надо было?
 
Спасибо!

Всего записей: 2374 | Зарегистр. 30-03-2016 | Отправлено: 12:20 30-08-2017 | Исправлено: tramparamparam02, 01:11 31-08-2017
Farik90



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tramparamparam02
Np++, ST - любой каприз на ваши хоткеи в настройках.
С помощью ahk можно сделать такое для стандартного элемента Edit (из которого состоит блокнот).
Не знаю, куда вы смотрели, но вы должны были интересоваться возможностью получить текст элемента и положения курсора в нем.

Всего записей: 120 | Зарегистр. 23-05-2011 | Отправлено: 13:27 30-08-2017
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет! Возможно ли назначить для сочетания «*» + «-» с цифровой клавиатуры справа — символ длинного тире, но при этом без использования BackSpace, потому что в Проводнике, при переименовании, например, «*» не пишется и поэтому может удаляться другой символ?

Код:
; «*»  +  «-»           BackSpace
~sc37 & sc4A::sendinput {scE}{—}

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 20:12 13-10-2017
DoctorLans

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

Код:
 
#SingleInstance FORCE
#NoTrayIcon
 
!Capslock::Capslock
 
Capslock::f(0x4090409) ; включение английского
RAlt::f(0x4190419) ; включение русского
 
f(p)
{
   ControlGetFocus, sCN, % "A"
   PostMessage, 0x50,, p, % sCN, % "A"
}
 

Всего записей: 248 | Зарегистр. 07-10-2006 | Отправлено: 12:57 16-10-2017 | Исправлено: DoctorLans, 12:58 16-10-2017
helbvtynec

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
Зачем вообще Backspace? не используйте прозрачность нажатия для «*», и не нужен он будет. И вообще лучше не мудрить с AHK, а установить и использовать какую-нибудь нативную расширенную раскладку: там и —, и прочие «»“”€©…±‰ без всяких утилит печатать можно с AltGr.
 
DoctorLans
Запускать от администратора, например?

Всего записей: 414 | Зарегистр. 19-03-2008 | Отправлено: 15:22 16-10-2017
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите оптимальный код для простого launcher'а, условие простое - если нет переданных параметров, запустить без параметров, если есть, передать с параметрами.  
 
Есть такой код:

Код:
 
#NoTrayIcon
SetWorkingDir %A_ScriptDir%
 
Loop %0% ; number of parameters
    params .= """" . %A_Index% . """" . A_Space ; разделение кавычками каждого параметра
;    params .= %A_Index% . A_Space ; разделение пробелами каждого параметра
If params !=
    Run, "prog.exe" -qwe rty %params%
Else
    Run, "prog.exe" -qwe rty
Return

Но он не совсем так как надо работает, например надо запустить лаунчер с параметром /param 1, он его запустит как "/param 1" (т.е. с кавычками), если раскомментить вариант с разделением пробелами, то тогда не передаются кавычки, т.е. если передать параметр "D:\test 1.txt", лаучер передаст как есть, но без кавычек..
 
Надо чтобы лаунчер передавал параметры как есть, если передали с кавычками, значит передать с кавычками.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 14:32 22-10-2017
creature_ws



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

Код:
Process exist
commandLine := ProcessGetCommandLine(ErrorLevel)
params := RegExReplace(commandLine, ".+\Q" A_ScriptFullPath "\E[\s\""]{0,2}")  
 
Run, "prog.exe" -qwe rty %params%
 
ProcessGetCommandLine(processID) {
    ComObjGet("winmgmts:")
        .ExecQuery("Select CommandLine from Win32_Process WHERE ProcessId = " . processID)
        ._NewEnum.Next(Process)
    return Process.CommandLine
}
 

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 19:24 22-10-2017
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws
Спасибо, для пробы запустил:
Код:
test.exe /test "test test"

Передалось:
Код:
-qwe rty test.exe  /test "test test"

Выделенное лишнее.. Если запускать с ярлыка, то нормально.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 20:27 22-10-2017 | Исправлено: thejustsoul, 20:29 22-10-2017
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мало информации,  у меня работает без "лишнего".

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 22:04 22-10-2017 | Исправлено: creature_ws, 22:05 22-10-2017
thejustsoul



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

Код:
cmd.exe
cd /d <папка где лежит скомпилированный exe>
test.exe /test "test test"  

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 22:43 22-10-2017
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ProcessGetCommandLine() возвращает (внезапно) CommandLine текущего процесса, при запуске через проводник CommandLine содержит полный путь к файлу, при запуске из консоли - лишь имя файла. ".+\Q" A_ScriptFullPath "\E[\s\""]{0,2}" подразумевает запуск не из консоли, придумайте способ извлечения параметров из строки commandline самостоятельно

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 18:03 23-10-2017
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws
Неужели нет простого варианта "батника" ниже без этой кучи кода?

Код:
myprog.exe -param 1 %*

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 18:23 23-10-2017
villa777



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

Всего записей: 2773 | Зарегистр. 22-06-2011 | Отправлено: 08:53 24-10-2017
Открыть новую тему     Написать ответ в эту тему

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