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

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



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

Всего записей: 1180 | Зарегистр. 10-12-2007 | Отправлено: 18:09 29-10-2016
Art_S_90



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, форумчане!) Подскажите, пожалуйста, можно ли средствами AutoHotkey сделать так, чтобы при зажатии Ctrl+Shift кнопки JKLI были бы стрелками влево, вниз, вправо и вверх соответственно? Но при этом, чтобы компьютер реагировал так, будто я нажимаю только стрелки, без Shift и Ctrl. Заранее спасибо!

Всего записей: 35 | Зарегистр. 12-02-2006 | Отправлено: 19:11 01-11-2016 | Исправлено: Art_S_90, 19:12 01-11-2016
404NF

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли способ АНК скриптом завершать приложения, запущенные с определенного раздела?

Всего записей: 250 | Зарегистр. 21-09-2013 | Отправлено: 00:00 07-11-2016
creature_ws



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно, но встроенной команды подобного рода нет
на запуск с определённого раздела указывает command line процесса, например:

Код:
for process in ComObjGet( "winmgmts:" ).ExecQuery("Select ProcessId from Win32_Process WHERE CommandLine LIKE '%D:\\%'")
    Process Close, % process.ProcessId
 


Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 05:58 07-11-2016 | Исправлено: creature_ws, 06:19 07-11-2016
evgenvvv

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Помогите, пожалуйста, решить следующую задачу.  
При старте компьютера запускается igfxHK.exe - часть драйвера Intel HD Graphics, отвечающая за горячие клавиши. Отключение галочкой в интерфейсе драйвера ничего не отменяет - горячие клавиши всё равно действуют.
Как с помощью AutoHotkey при старте системы убить эту программу? Пока что делаю вручную через диспетчер задач.

Всего записей: 53 | Зарегистр. 04-05-2007 | Отправлено: 19:12 08-11-2016
404NF

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws
Спасибо за подсказку. А как сделать чтобы не убивать процесс, а корректно закрывать программу? Чтобы сессия браузера сохранялась, набранный текст в редакторах и пр. Мне подсказали решение на powershell, но оно криво работает (через закрытие главного окна, что не для все программ подходит). В АНК много способов закрыть программу, главное определить подходящие под мой критерий.

Всего записей: 250 | Зарегистр. 21-09-2013 | Отправлено: 20:04 08-11-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenvvv
Отключить вручную через диспетчер задач - автозагрузка.
Или удалить из реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\igfxHK.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\igfxHK.exe
 
Удалить из ContextMenu:
HKEY_CLASSES_ROOT\Directory\background\shellex\ContextMenuHandlers\igfxcui
HKEY_CLASSES_ROOT\Directory\background\shellex\ContextMenuHandlers\igfxDTCM
HKEY_CLASSES_ROOT\Directory\background\shellex\ContextMenuHandlers\igfxOSP


404NF
SetTitleMatchMode, 3
WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]
или
PostMessage, 0x112, 0xF060,,, WinTitle, WinText
вместо WinTitle можно указать ahk_id или ahk_class

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 08:03 09-11-2016 | Исправлено: kykrinik, 08:19 09-11-2016
evgenvvv

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kykrinik
В Run этого нет. Это запускается по-другому. Драйвером, наверное. Я сразу проверил Run, когда начал бороться с горячими клавишами.
Как через AutoHotkey убить эту программу (igfxHK.exe) после запуска? Она висит в процессах. После ручного убития всё приходит в норму, интеловские горячие клавиши исчезают, все функции драйвера видео работают нормально. Нужно только убить процесс.

Всего записей: 53 | Зарегистр. 04-05-2007 | Отправлено: 08:17 09-11-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenvvv
Process, Close, igfxHK.exe
 

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 08:22 09-11-2016 | Исправлено: kykrinik, 09:37 09-11-2016
tramparamparam02



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

evgenvvv 18:12 08-11-2016
Цитата:
Как с помощью AutoHotkey при старте системы убить эту программу? Пока что делаю вручную через диспетчер задач.

Простите, что вмешиваюсь в вашу увлекательную дискуссию. Вам принципиально, чтобы процесс убивался именно при помощи AHK? Позволяют ли убеждения использовать штатные средства Windows (утилита taskkill) или одну из специально для таких случаев предназначенных примерно 100500 специальных утилит с поддержкой командной строки и, соответственно, запуском из батника?

Всего записей: 2371 | Зарегистр. 30-03-2016 | Отправлено: 08:54 09-11-2016 | Исправлено: tramparamparam02, 08:57 09-11-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenvvv
Возможно сперва надо сбросить настройки Управления графикой Интел на умолчания, потом настроить.
 
Отключить вручную:
[HKEY_CURRENT_USER\Software\Intel\Display\igfxcui\HotKeys]
"Enable"=dword:00000000
 
Заодно там же в HKEY_CURRENT_USER\Software\Intel\Display\igfxcui\HotKeys\
значения ключей реестра с именами в виде чисел можно очистить, чтобы освободить горячие клавиши.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tramparamparam02 Нет, не обязательно, конечно. Просто у меня AHK и так работает с другой целью. Попробую, спасибо.
kykrinikСпасибо, попробую.
 
P.S. Спасибо за подсказки, решил задачу через AutoHotkey. Может быть, и неоптимальный путь, но цель достигнута. Sleep - чтобы убиваемая программа наверняка запустилась раньше исполнения Process.

Код:
Sleep, 10000 ;
Process, Close, igfxHK.exe

 

Всего записей: 53 | Зарегистр. 04-05-2007 | Отправлено: 10:07 09-11-2016 | Исправлено: evgenvvv, 18:35 09-11-2016
404NF

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenvvv
Зачем так все усложнять? Возможно программа от Русиновича https://technet.microsoft.com/en-us/sysinternals/bb963902 поможет запретить автозагрузку ненужного процесса - это оптимальнее, чем его потом убивать.
creature_ws
kykrinik
Спасибо, с использованием ваших идей и руководства по АНК сделал скрипт, который завершает приложения именно так, как мне хотелось.
creature_ws, а вам не сложно будет в двух словах пояснить, каким образом работает первая строка кода и где об этом можно почитать. В руководстве я ничего подобного не видел.

Всего записей: 250 | Зарегистр. 21-09-2013 | Отправлено: 00:56 10-11-2016 | Исправлено: 404NF, 00:57 10-11-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenvvv
Попробовал, работает:  
Надо установить тип запуска "Вручную" для службы "Intel(R) HD Graphics Control Panel Service".

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 11:42 11-11-2016
Werty666



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
посоны, выручайте! слетаю с катушек - купил мышь marvo лярво... многофункционалка, с 7 кнопками, думал что есть драйвер с макросами замены функции как у логитека, бля НЕТ ДРОВ! рядом с ЛКМ есть маленькая кнопка имитирующая левый дабл клик НО это блин не какая то там икс баттон или еще что, определяется она как LBATTON и все.Каим то образом она имитирует двойной клик, но так коряво! То выделяет текст в имени файла, то как будто нажал и долго держал, выделяет файл, аааа. Пробовал в пуск > мышь настроить скорость - нет толка. Вообщем перехватил ее действия в таком сервисе https://learn.javascript.ru/mouse-clicks
 
это одно нажатие:
 
mousedown   which=1 button=0
mouseup     which=1 button=0
click       which=1 button=0
mousedown   which=1 button=0
mouseup     which=1 button=0
click       which=1 button=0
dblclick    which=1 button=0
mousedown   which=1 button=0
mouseup     which=1 button=0
click       which=1 button=0
 
как весь этот триппер перебить на двойной клик?

Всего записей: 369 | Зарегистр. 20-07-2008 | Отправлено: 21:32 12-11-2016
404NF

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

Цитата:
рядом с ЛКМ есть маленькая кнопка имитирующая левый дабл

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

Всего записей: 250 | Зарегистр. 21-09-2013 | Отправлено: 22:25 12-11-2016
Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скорее всего это кнопка посылает тройной клик ("три выстрела"), из-за чего и возникает загвоздка. Вот способ убрать последний клик, работающий на A4Tech X7:

Код:
 
LButton::    
If (A_PriorHotkey="LButton" && A_TimeSincePriorHotkey<150)
    mn+=1
If (mn=2)
{
    mn:=0
    return
}
Send {LButton down}
KeyWait LButton
Send {LButton up}
return
 

Можно использовать это, например, для выделения слова и отправки в словарь

Всего записей: 1180 | Зарегистр. 10-12-2007 | Отправлено: 22:25 12-11-2016 | Исправлено: Krot66, 22:27 12-11-2016
creature_ws



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

Цитата:
а вам не сложно будет в двух словах пояснить, каким образом работает первая строка кода и где об этом можно почитать. В руководстве я ничего подобного не видел.

"Подобного" это чтоб 1в1?  
 
ComObjGet создаёт интерфейс для работы с WMI, ExecQuery после выполнения запроса возвращает массив содержащий PID процессов в командной строке которых содержится строка D:\, цикл for перебирает массив и выполняет для каждого элемента какую-то команду (во второй строке)
 
for —  цикл, ComObjGet — функция для работы с COM, winmgmts: — отсылка у WMI, ExecQuery метод (функция) предоставляемая WMI, Select ProcessId from Win32_Process WHERE CommandLine LIKE '%D:\\%' — строка запроса, WHERE, LIKE — ключевые слова, %D:\\% — искомый шаблон строки, % специфичный для LIKE аналог wildcard *

Всего записей: 304 | Зарегистр. 29-07-2008 | Отправлено: 08:58 13-11-2016 | Исправлено: creature_ws, 09:11 13-11-2016
Werty666



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

Всего записей: 369 | Зарегистр. 20-07-2008 | Отправлено: 11:27 13-11-2016 | Исправлено: Werty666, 12:49 13-11-2016
Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Повесить можно что угодно, но пропускаться будет хотя бы один клик - иначе придется ставить задержку на срабатывание левой клавиши, что не есть хорошо. Для пропуска одного клика вместо mn=2 ставишь mn=1 и перед следующим return вписываешь требуемое действие, Вроде
Код:
Send {Bs}

 - лишний клик здесь мешать не должен, можно будет перемещаться в проводнике и ли файловом менеджере на уровень вверх.
Как я уже писал, можно использовать двойной клик для выделения слов с последующей отправкой в словарь. Т.е. если у тебя есть Lingvo или GoldenDict с переводом по Ctrl+C+C, в качестве действия для перевода одним нажатием кнопки тогда следует использовать

Код:
Send {Ctrl down}{vk43}{vk43}{Ctrl up}

Вешать двойной клик на среднюю кнопку не советую - это нужная вещь, в тех же браузерах открывающая ссылку в новой вкладке или осуществляющая быстрый скролл

Всего записей: 1180 | Зарегистр. 10-12-2007 | Отправлено: 14:04 13-11-2016 | Исправлено: Krot66, 14:05 13-11-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 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