Обсуждаем программу, нажимаем кнопки, постим сниппеты, дымим от скриптового языка.
Для тех, кто не в курсе. AutoHotkey - это программа для Windows, позволяющая назначить одно сочетание клавиш на любое другое. Можно нажимать отдельные кнопки, сочетать их, отправлять последовательности и строки, делать все сорта автозамен. Мощный скриптовый язык позволит управлять окнами, запускать другие программы, генерировать инфу, отслеживать контент, пилить пользовательские интерфейсы, программировать кофеварку и писать макросы на другие случаи жизни, вешая всё на одну кнопку. Тред не взлетит, но да здравствует AutoHotkey-тред!
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 15:14:38#2№1823296
Поскольку переназначение клавиш довольно примитивно (x::y), вкину несколько макросов.
Например, как хоткеем делать какое-либо окно всегда поверх других. В данном случае это будет контрол+пробел:
Аноним (Microsoft Windows Phone: Internet Explorer)17/08/16 Срд 15:29:38#5№1823308
Годная тема, сейчас уже сложно было бы без нее. Я напердолил переключение рабочих столов на alt+1,2 перебиндил доп. кнопки мыши, пара сочетания для запуска приложений и то ради чего все изначально затевалось, регулировка громкости системы роликом мыши у левого края экрана и активного приложения у правого, еще когда-то для удалённого управления пекой с помощью беспроводного геймпада использовал, но потом пересел на отдельную письку.
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 15:29:47#6№1823309
Многие программы хочется закрывать нажатием эскейпа, а кнопку назначить негде. Через АХК можно управлять окнами напрямую. Вот так можно закрывать Суматру ПДФ эскейпом:
Пустая директива в конце нужна, чтобы правило прекращало своё действие, иначе оно будет действовать до конца скрипта. Скриптовый язык АХК не очень изящен, и я его плоховато знаю, поэтому каких-то особых тонкостей подсказать не могу. Надеюсь, тут есть люди более сведущие, насилующие Автохоткей более изощренными методами.
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 15:37:26#7№1823316
А вот пример таймера с коллбэком (я не погроммист, если что, не бейте). Закрывает попап Сублим Текста, назойливо предлагающий его купить.
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 15:46:21#8№1823323
Удобно обходить анальные ограничения программ на хоткеи. Назначил в программе что-то типа Ctrl+Alt+Shift+F12, а автохоткей настроил на какой-нибудь Ctrl+L, K, который и отправляет этот пальцелом.
В начало скрипта я предпочитаю помещать подсказку, так как никак не могу запомнить модификаторы: http://pastebin.com/t2zt0HQr
Всё остальное у меня - мелочёвка типа автоматической замены кейвордов при неправильной раскладке, какие-то совсем уж конкретные и бесполезные остальным текстовые сниппеты для программ и повторение вышеперечисленных операций для других типов окон при чуть других условиях. В принципе, можно делать куда более крутые вещи, но мне пока без надобности, и я вдобавок туповат, поэтому пользуюсь лишь малой частью возможностей программы.
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 15:48:21#9№1823328
>>1823308 >регулировка громкости системы роликом мыши у левого края экрана Круто! Поделись скриптом.
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 16:02:29#10№1823345
Кстати, ещё один полезный макрос, чисто служебный. Он перезагружает скрипт. Когда АХК начинает тупить (или мы думаем, что он начал тупить), не лазя в трей релоадим скрипт с клавиатуры:
Также очень удобно повесить подчеркивание на шифт+пробел (типа, "пробел с большой буквы"), экономит массу телодвижений, если часто пользуешься подчеркиванием. Это совсем просто:
Аноним (Microsoft Windows 8: Chromium based)17/08/16 Срд 16:40:52#11№1823379
Раз уж такой годный тред, вкину кое-что чем сам пользуюсь.
Ctrl + Пробел - текущее активное окно закрепляется поверх всех, бывает люто удобно, например калькулятор или терминал используешь. http://pastebin.com/0NAQ2puR
Аноним (Microsoft Windows 8: Chromium based)17/08/16 Срд 17:21:52#12№1823408
Еще вброшу для бесполезных долбоебов которые любят схоронять картинки, таких как я. AHK скрипт для хрома. Схороняет картинку на которую наведен курсор мыши. Попробуешь раз, никогда больше не станешь сохранять иначе.
Аноним (Microsoft Windows 7: Firefox based)17/08/16 Срд 17:35:47#15№1823419
>>1823408 Есть такое для огнелиса? И как он вообще работает?
Аноним (Microsoft Windows 10: Firefox based)17/08/16 Срд 18:04:55#16№1823430
>>1823419 > как он вообще работает? Как и большинство других скриптов, просто быстро прожимая необходимые действия. > Есть такое для огнелиса Переделать то минутное дело, но мне лень. >>1823328 Там все на таких костылях что мне стыдно.
Аноним (Microsoft Windows 8: Chromium based)17/08/16 Срд 18:22:03#17№1823441
>>1823419 >Есть такое для огнелиса? Замени chrome.exe на firefox.exe, а Save As на Save Image, будет работать
Аноним (Microsoft Windows 7: Firefox based)17/08/16 Срд 20:02:33#18№1823502
>>1823430 А прожимает он, используя координаты экрана или имя/ID кликабельного объекта?
Аноним (Microsoft Windows 8: Chromium based)17/08/16 Срд 21:41:17#19№1823560
>>1823502 Конкретно этот скрипт симулирует клик правой кнопкой мыши если текущее окно это процесс chrome.exe, по клику появляется контекстное меню, затем сразу жмет 'v' - это шорткат браузера к пункту меню "сохранить картинку".
Затем ждет появления окна с заголовком "Save As"(это диалог сохранения) и тут же жмет Enter. Все это происходит очень быстро, пукнуть не успеешь.
Аноним (Microsoft Windows 10: Chromium based)17/08/16 Срд 22:03:10#20№1823573
>>1823298 Что мешает без мокрописек поставить стандартный CTRL+ALT+HUI?
Аноним (Microsoft Windows 10: New Opera)17/08/16 Срд 22:47:27#21№1823619
>>1823292 (OP) Помню этот костыль для слоупоков. Примитивный трёхстрочечный макрос 300 мс обрабатывает.
Аноним (Microsoft Windows 7: Firefox based)18/08/16 Чтв 00:10:02#22№1823665
>>1823560 Бывает приходится сохранять не-картинки в другие папки, значит пикча будет сохранятся в последнюю папку, которая использовалась для сохранения чего-либо. Не торт.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 02:08:50#23№1823776
>>1823408 >>1823419 Вот для Лисы. Заменил Shift на Alt+PageDown, так как заметил, что он при печати сообщения иногда пробует сохранить картинку.
Жмёт ПКМ, нажимает v на клаве (это акселератор пункта Save Image As...), в открывшемся окне нажимает энтер или ничего не делает, если окно не появилось. Если изображение уже существует, оно остановится на диалоге перезаписи.
>>1823665 Первую сохраняешь по нужному адресу, далее кнопкой. Можешь допилить, чтобы вставлял нужный тебе каталог в строку адреса. Для лисы есть аддон SaveImages, кстати, так что не нужно велосипедить.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 02:20:54#24№1823779
Замутил свой велосипед, раз ты стесняешься. Регулирует громкость по 5 системных громкостных попугаев. Работает в десятипиксельной зоне с правого края экрана. Пока не знаю, будет ли мешать при скролле окон.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 09:17:01#30№1823838
>>1823795 > будет ли мешать при скролле окон Будет, я два ставил.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 09:28:23#31№1823843
>>1823838 За день ни разу не задел громкость, пытаясь что-то прокрутить. Мне пока не мешает. От индивидуальных привычек зависит.
Кстати, колесо в винде из коробки работает, если кликнуть по иконке звука на таскбаре. Но по ощущениям это не то же самое, что слепо дёрнуть мышью и крутануть колесо пару раз. Ещё бы окошечко всплывало при этом, как если бы кликнул по иконке звука.
Аноним (Microsoft Windows 7: Chromium based)18/08/16 Чтв 11:14:33#32№1823873
>>1823292 (OP) Сап, ребятки. Есть такой скриптик http://pastebin.com/EdmfybF2 Почему-то в игре иногда вводит не "dota_force_right_click_attack" а, например, "ta_force_right_click_attack" или еще больше букв проглатывает. Подскажите, в чем проблема, и как это исправить.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 11:26:35#33№1823877
>>1823873 Предположу, что нужен небольшой дилэй. Твой макрос просто отправляет весь инпут последовательно. Он может это сделать за одну миллисекунду. Игре же нужно некоторое время, чтобы покрутить шестернями там внутри. Если ты открываешь консоль, в движке происходит масса вещей.
Возможно, придется заменить сэндинпут на сэнд, так как пишут, что оно не затрагивает его. Или не придется, и дилэя для нажатия ф12 хватит. Либо проблема в другом.
Аноним (Microsoft Windows 7: Chromium based)18/08/16 Чтв 11:34:51#34№1823883
>>1823877 Да, поставил Sleep, 100 после f12, вроде нормально работает. Как-то сразу и не догадался, спасибо.
Аноним (Microsoft Windows 7: Firefox based)18/08/16 Чтв 11:37:26#35№1823886
>>1823292 (OP) годная прога, много лет пользуюсь для самых разных целей.
Аноним (Microsoft Windows 7: Firefox based)18/08/16 Чтв 11:39:31#36№1823887
>>1823560 в лисе есть дополнение Save File to если что. сохраняет в нужное место в два клика.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 18:33:21#37№1824137
А можно тут сделать чтобы при клике скм по заголовку окна, в приложении нажималась определенная кнопка? Сам пытаюсь нагуглить, но чет нифига не понимаю.
>>1823818 >у тибя брутхрут я тибя зотралел ну скажи ему мам! Ебать ты дурачок. Съеби уже обратно в социалочки, ребёнок.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 19:45:50#39№1824206
>>1824137 Таки запилил http://pastebin.com/gVFTAqxQ есть только две проблемы, не удается назначить на скм, он почемуто на его нажатие просто не реагирует и лиса себя неадекватно ведет если при фокусе на нее, нажать на плеер.
Аноним (Microsoft Windows 10: Firefox based)18/08/16 Чтв 19:48:26#40№1824209
Аноним (Microsoft Windows 7: Firefox based)18/08/16 Чтв 21:22:58#41№1824319
Самая полезная хуйня, которую я на нем делал, и то, из-за того, что autoit не умеет в маус4/5 без дополнительного шаманства с ручной обработкой нажатий через user32.dll.
Аноним (Microsoft Windows 10: Firefox based)20/08/16 Суб 14:13:08#45№1826043
>>1826040 >Можно как-то разделить скрипты на отдельные текстовые файлы, но запущено чтобы было несколько сразу? Немного пердольно все это, язык макросов странный. Но прикольно. Кто-нибудь тестил на замедление работы системы?
Так это дефолтное поведение. Сколько запустишь скриптов, столько и будет запущено. Чтобы было наоборот можно делать инклюды. Ни разу не пердольно, если не пишешь макросы, а просто используешь хоткеи и автореплейсы (как я). Язык поганенький, да. На замедление я не тестил. Однако каких-либо даже еле различимых задержек я не заметил. Разумеется, если ты крузис напишешь и повесишь на хоткей, то будет медленно. Крузисом могут оказаться и какие-нибудь системные вызовы.
Аноним (Microsoft Windows 8: Chromium based)20/08/16 Суб 14:22:15#46№1826059
Так ребятки, а как указать программе выполнять нажатие комбинации шифт+альт. У меня на шындоус это переключение языка и очень часто это переключение лагает и я сижу как идиот и по 10 раз жму шифт+альт. Пробовал перемапить на инсерт путём Ins:: +! но при запуске пишет мол не понимаю что ты там написал. Через + & ! и через Send пробовал (хотя это нажатие шифт потом отпускание шифта и после нажатие альт как я понял. А мне нужно зажатие сразу двух) Гуглил, но в интернете предлагают какие-то безумные скрипты на 2 страницы, хотя по сути нужно просто зажать 2 клавиши.
Аноним (Microsoft Windows 10: Firefox based)20/08/16 Суб 14:33:26#47№1826076
ОП, с вин-актив понятно, а как отследить, например, нахождение мыши на верхней полосе рамки активного окна, нажатие/отпускание мыши в этой области, факт перетаскивания окна за эту область?
Аноним (Microsoft Windows 8: Chromium based)20/08/16 Суб 14:41:18#49№1826090
>>1826099 Сложна нипанятна чет, я стартовый ман прочитал, но тут мне большая часть команд незнакома...
Аноним (Microsoft Windows 10: Firefox based)20/08/16 Суб 15:40:52#52№1826170
>>1826158 Для меня это тоже оверкилл. Видимо, специфики изрядно, раз там регэксы с какими-то флагами пошли.
Начни с малого - получение координат мыши в переменные. По дефолту координаты относительные (от вернего левого угла), значит, при перетаскивании за тайтлбар координата Y будет иметь небольшое значение что-то типа 12 (в пикселях). Можно, наверное, получить размеры окна или даже размеры окна без тайтлбара, чем вычислить диапазон. Ну или это велосипед, и есть конкретные функции.
Аноним (Microsoft Windows 10: Chromium based)20/08/16 Суб 17:45:29#53№1826297
Аноним (Microsoft Windows 10: Firefox based)20/08/16 Суб 18:22:51#54№1826366
>>1826297 Чому пердолинг. Самое милое дело для сабжа. И уже выше лежит готовый код.
Аноним (Microsoft Windows 10: Chromium based)20/08/16 Суб 21:35:00#55№1826668
Вопрос абсолютно нюфажий: на клаве отказали некоторые клавиши. Если ремапить простым Numpad2::L, то независимо от раскладки будет слаться 'L'. Собственно, как сделать учёт раскладки?
Аноним (Microsoft Windows 10: Firefox based)20/08/16 Суб 22:01:06#56№1826715
Аноним (Microsoft Windows 10: Chromium based)20/08/16 Суб 22:42:43#57№1826780
>>1826715 >Scan Code попробуй вместо клавиши. Благодарю, теперь шлёт что надо.
Мне почему-то сильно лень разбирать клавы ноутбуков
Аноним (Microsoft Windows 8: Chromium based)21/08/16 Вск 12:37:57#58№1827202
Ребята, почему f1:: delete работает через раз и не везде?
Аноним (Microsoft Windows 10: Firefox based)21/08/16 Вск 12:49:48#59№1827217
>>1827202 У меня работает. В каких случаях не работает у тебя? На чистом скрипте проверяешь? У АХК не наивысший приоритет в системе, но я пока не сталкивался с особыми трудностями. Не работали кнопки при окне установщика винды в фокусе.
Ну и я бы рекомендовал не беспредельничать и писать скрипты и имена точно, как в хелпе: F1::Delete
Аноним (Microsoft Windows 8: Chromium based)21/08/16 Вск 14:23:22#60№1827292
>>1827217 Судя по всему XYplorer перехватывал клавишу и включал справку. Переназначил в нём удаление на f1 тоже. Пока вроде всё в порядке.
Аноним (Microsoft Windows 10: Firefox based)23/08/16 Втр 12:14:09#61№1829208
>>1823795 Пользуюсь уже почти неделю, брат жив. Рикаминдую.
Аноним (Microsoft Windows 8: Firefox based)23/08/16 Втр 16:27:24#62№1829429
>>1823292 (OP) Можно ли в этой прожке запердолить хоткей, по нажатию на который в открытый текстовый документ вставлялась бы какая-то фраза + текущая дата?
Аноним (Microsoft Windows 10: Firefox based)23/08/16 Втр 19:30:13#63№1829690
>>1829429 Можно хоткей, а можно хотстринг. Сниппеты удобней активировать их каким-нибудь словом, а не хоткеем. Например: http://pastebin.com/v65UAD40
Если наберёшь shitpost, он автоматически заменит его на: >2016 >не юзать автохоткей
Аноним (Microsoft Windows 10: Chromium based)25/08/16 Чтв 09:20:59#64№1831391
>>1826668-анон Возник ещё вопрос - когда зажимаю шифт, то он отправляется вместе с клавишей один раз, а дальше отправляются только нажатия переназначенной клавиши, т.е. AHK не смотрит, нажаты ли какие-то другие клавиши при отправке? Т.е. если я зажму шифт и пять раз нажму кнопку, на которую я ремапнул "O", то вывод будет "Ooooo". То есть нужно отдельно прописывать, чтобы при зажатом шифте он отправлялся со всеми кнопками?
Аноним (Microsoft Windows 10: Chromium based)25/08/16 Чтв 14:36:59#65№1831599
>>1823781 Удваиваю мокрую писю. Есть же более мощный аутоит
Аноним (Microsoft Windows 10: Firefox based)25/08/16 Чтв 16:30:10#66№1831696
>>1831391 a::b b::c Пробую, получаю BBBBB. ЧЯДНТ? Запиливайте сразу нерабочий кусок на пастебин.
Неистово поддвачиваю: коммьюнити далекого от совершенства автохоткея строго дифференцировано на две группы: опытных автоматизаторов и скриптеров и пустоголовых личей-копипастеров не владеющих банальным поиском по форуму. ОП-пост прямым текстом говорит о том, что тред для второй категории.
И не поймите меня не правильно - автохоткей это суперское решение для биндов-без-напрягов и быстрого прототипирования интерфейсов. Но как только вы, углубившись в автохоткей, столкнетесь с задачей за пределами объективно костыльных архитектурных решений разрабов (например, вам понадобится отрисовать на экране прямоугольник слайдеры не в счет), перед вами встанет выбор: цеплять в свой скрипт тонны чужих, избыточных, глючных и возможно устаревших сниппетов (API автохоткея имеет свойство меняться как погода), или учить взрослые решения для автоматизации - PowerShell, Tcl, вызовы к апи вашего шелла, дай вам бог мозгов, чтобы вы выбрали второе.
Аноним (Microsoft Windows 10: Firefox based)02/09/16 Птн 20:36:42#78№1840026
>>1838697 К чему ты вообще накатал свой высер, кому он был адресован?
Аноним (Microsoft Windows 10: Firefox based)16/09/16 Птн 19:39:39#79№1852707
Бамп что ли.
Аноним (Microsoft Windows 7: Firefox based)16/09/16 Птн 20:23:20#80№1852754
Аноним (Microsoft Windows 10: Firefox based)16/09/16 Птн 21:58:16#83№1852882
Как можно напердолить скрипт, чтобы при перемещении окна к краю экрана оно прилипало к нему? Про Snap знаю, но это не то, оно вместе с прилипанием еще и ресайзит. Или может есть какое другое решение?
всплываемАноним (Microsoft Windows 10: Firefox based)07/10/16 Птн 22:37:14#84№1863635
Аналог Ctrl+Shift+N (создаёт папку, запускает процесс переименования), но для файлов. Создаёт файл, вводит его имя в проводнике, чтобы он выделился, и нажимает F2. Малость костыльно и не слишком стабильно, но вполне работает.
>>1823292 (OP) >AutoHotkey - это программа для Windows, позволяющая назначить одно сочетание клавиш на любое другое Костыль для шиндошс ты подразумевал?
Аноним (Microsoft Windows 10: Firefox based)08/10/16 Суб 18:37:18#86№1864088
Запилил себе небольшой стражик для предотвращения свопов при работе с ресурсоёмким ПО, не слишком осторожно работающим с памятью. При достижении опасного лимита приостанавливает указанные мною процессы и оповещает меня об этом. Процесс можно продолжить или прибить. Настройки в шапке скрипта капсом. Пару дней пользуюсь, вроде даже работает.
Аноним (Microsoft Windows 7: Palemoon)22/10/16 Суб 18:31:29#93№1871462
Кто запилит скрипт ctrl + c, + ctrl +f1 например на ctrl + z
Аноним (Microsoft Windows 10: Firefox based)22/10/16 Суб 22:54:20#94№1871655
>>1871462 С чем сложности? Несколькими Send-ами шлёшь свои кнопки, return в конце не забудь.
Аноним (Microsoft Windows 10: Firefox based)03/11/16 Чтв 17:42:00#95№1878476
Для тех, кто не в курсе. AutoHotkey - это программа для Windows, позволяющая назначить одно сочетание клавиш на любое другое. Можно нажимать отдельные кнопки, сочетать их, отправлять последовательности и строки, делать все сорта автозамен. Мощный скриптовый язык позволит управлять окнами, запускать другие программы, генерировать инфу, отслеживать контент, пилить пользовательские интерфейсы, программировать кофеварку и писать макросы на другие случаи жизни, вешая всё на одну кнопку. Тред не взлетит, но да здравствует AutoHotkey-тред!