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

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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
не совсем по теме (скорее всего) но всёж может у кого будут мысли?
 
имеются нехитрые действия:

Код:
Joy10::
BlockInput, off
return
 
Joy11::
BlockInput, on
return

при нажатии на доп. инпут-девайс полностью отключается клавиатура, для возможности на неё нечто поставить-положить (тарелку чаще всего )
 
всё хорошо, но почему-то при определённом нажатии группы клавиш всё это начинает издавать цикличный писк в наушниках...
где бы это побороть? или другое что использовать для отключения клавиатуры?
 
[added]
Win7 x64
"залипание клавиш" в окнах отключено

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 15:25 13-11-2016 | Исправлено: HeT BonpocoB, 16:17 13-11-2016
404NF

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
creature_ws
Спасибо за пояснения. Про ComObjGet никогда не слышал. В руководстве есть только DllCall, но я ним пользоваться не умею.

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Krot66
 
такой код отрубил ЛКМ ((
 
LButton::    
If (A_PriorHotkey="LButton" && A_TimeSincePriorHotkey<150)
    mn+=1
If (mn=1)
{
    mn:=0
    return
}
Send {Bs}
 
что не так? ретурн надо в конце? с ним тоже Левая не пашет
 
и все же как пишется функция {ДвойнойКлик}?

Всего записей: 370 | Зарегистр. 20-07-2008 | Отправлено: 22:36 13-11-2016
Krot66



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

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

Всего записей: 1254 | Зарегистр. 10-12-2007 | Отправлено: 10:41 14-11-2016
ihere



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, может АНК справиться с такой задачей?
Я сначала поясню - в некоторых играх предусмотрена возможность добавлять бинды на клавиши по умолчанию. Например, в ТФ2 это довольно просто сделать, приписав несколько строк в текстовом файле. В итоге, при нажатие определенной клавиши в внутриигровом чате, будет написано то, что вы хотите и автоматически отправлено. Это очень удобно во время командной игры в определенных ситуациях.
К сожалению, некоторые игры такой возможности не предоставляют. Собственно вопрос:
Возможно ли это сделать с помощью АНК? Т.е. чтобы при нажатии, скажем клавиши Щ открывался бы внутриигровой чат (который по умолчанию в игре забинден на Y)
печатался бы определенный текст (буквально пару слов)
этот текст 'отправлялся' бы (по умолчанию в игре это Enter)
Спасибо.

Всего записей: 13 | Зарегистр. 16-03-2008 | Отправлено: 18:25 12-12-2016
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ihere, скорее всего да, но может быть множество нюансов в конкретных играх.
и за неимением их, тут вряд-ли кто-то сможет на 100% отладить, так что придётся самому...
а примеры можно нагуглить (или даже под конкретную игру поискать  готовый)
типа вот

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 21:29 12-12-2016
borro



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
 
Скажите, как на языке autohotkey закрыть skype?
 
Этот код  
DetectHiddenWindows, On
vWin := "ahk_exe skype.exe"
; SetTitleMatchMode, 2
IfWinExist, %vWin%
{
    WinClose
    return true
}
почему-то закрывает его только после повторного запуска

Всего записей: 19 | Зарегистр. 15-05-2016 | Отправлено: 14:28 15-12-2016 | Исправлено: borro, 14:28 15-12-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
borro, может у скайпа два окна и поэтому надо дважды? не знаю, скайпа нет.
DetectHiddenWindows, On
if WinExist("ahk_exe skype.exe")
WinClose
 
Все окна выбранных процессов + скрытые:
 
DetectHiddenWindows, On
winget, ids, list
loop, %ids%
    {
    id := ids%a_index%
    wingettitle, title, ahk_id %id%
    winget, Process, ProcessName,  ahk_id %id%
    if Process in Skype.exe,SkypePlugin.exe
    all .= id . "_______" . Process . "_______" . title . "`n"
    }
MsgBox, %all%

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 13:24 17-12-2016 | Исправлено: kykrinik, 16:22 17-12-2016
ivan3259



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoHotkey 1.1.24.04   December 17, 2016

Цитата:
Fixed File.ReadNum() repeating old data if a prior File.Read() had stopped reading at the end of the buffer.
Improved buffer utilisation when File.Read() reaches the end of the buffered data.
Fixed GuiControl +Password to use the default bullet character on XP and later.
Fixed GuiControl +/-Password to redraw the control immediately.

Всего записей: 10037 | Зарегистр. 03-07-2013 | Отправлено: 08:11 18-12-2016
404NF

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал скрипт, который создает всплывающее меню при выделении текста. Есть одно неудобство: меню перехватывает клавиатурный фокус. То есть если я выделил текст просто для того, чтобы напечатать что-то вместо выделенного фрагмента, продолжить набор с клавиатуры я не могу, пока не закрою меню. Есть ли какой-то способ чтобы меню не мешало набирать текст? Например всплывающее окно Firefox дополнения SelectionSK если на него не навести мышку просто исчезает через пару секунд, но то javascript, а в АНК так можно?

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
kykrinik, благодарю
 
Скажите, а можно с помощью autohotkey заставить не всплывать сообщения брандмауэра(фаервола) Windows о том, что он заблокировал некоторые функции приложения, которое опосредовано(через вызов другого приложения) было запущенно моей программой на autohotkey?
Вот пример сообщения брандмауэра, которое надо подавить либо автоматом нажать кнопку "Разрешить"
http://priscree.ru/img/4dcaed9b89e0ab.jpg
 

Всего записей: 19 | Зарегистр. 15-05-2016 | Отправлено: 11:19 19-12-2016
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
borro, закрывать окно не проблема... что-то типа:
 

Код:
IfWinExist, Оповещение системы безопасности Windows
  ControlClick, Разрешить доступ, Оповещение системы безопасности Windows
return

 
но тогда начерта нужен вообще фаерволл, если ему всё автоматом разрешать? может лучше в нём правила прописать для приложений (если это возможно, не помню), либо заменить на полноценный?

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 12:26 19-12-2016 | Исправлено: HeT BonpocoB, 12:28 19-12-2016
borro



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HeT BonpocoB
Спасибо! Просто программа будет запускаться там, где люди боятся информационных технологий и терминов и надо облегчить им их муки от чтения таких оповещений.
 
Возник вопрос. Такие окна от брандмауера всплывают через какое-то строго не определённое с момента запуска программы время, которое скорее всего будет варьироваться от машины к машине. Можно ли ставить Ваш код сразу после вызова запуска программы, приводящей к появлению указанных сообщений фаервола, или надо поставить задержку sleep с достаточным временем, тем самым дождавшись вылета сообщения фаервола, и потом ставить код:
IfWinExist, Оповещение системы безопасности Windows  
  ControlClick, Разрешить доступ, Оповещение системы безопасности Windows  
return
?

Всего записей: 19 | Зарегистр. 15-05-2016 | Отправлено: 14:00 19-12-2016
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
borro, код надо совмещать с чем-нить типа
 
WinWait, ......
 
или   SetTimer, .....
 
примеров миллионы можно легко загуглить!
собственно по началу сабж и придумывался для закрытия всяких надоедливых месаджбоксов
но всё равно лучше настроить фаерволл!

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 16:25 19-12-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
borro
Для IfWinExist и ControlClick лучше всегда указывать значение WinText.
Вроде WinWait работает при некоторых условиях, поэтому SetTimer надёжнее, если не проверять.
Набрать в поиске "Windows firewall command line".

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 18:07 19-12-2016 | Исправлено: kykrinik, 13:12 20-12-2016
borro



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

Цитата:
но всё равно лучше настроить фаерволл!

Как это делается через Autohotkey?
 

Всего записей: 19 | Зарегистр. 15-05-2016 | Отправлено: 10:24 20-12-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как и без Autohotkey, набрать в поиске "Windows firewall command line".
В AutoHotkey.chm раздел Process.
проверка-отладка:
RunWait, %comspec% /c %A_WinDir%\System32\netsh advfirewall firewall /? &pause
RunWait, %comspec% /k %A_WinDir%\System32\netsh advfirewall /?
если всё работает, скрыть cmd окно:
RunWait, %A_WinDir%\System32\netsh advfirewall firewall add ... , , Hide UseErrorLevel

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 13:11 20-12-2016 | Исправлено: kykrinik, 13:17 20-12-2016
HeT BonpocoB



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

Код:
netsh advfirewall firewall add rule name="Apache" dir=in action=allow program="C:\xampp\apache\bin\httpd.exe" enable=yes protocol=TCP localport=80 remoteip=............... profile=.........

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 13:13 20-12-2016
borro



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
 
Всем большое спасибо.

Цитата:
Для IfWinExist и ControlClick лучше всегда указывать значение WinText.

А в чем отличие применения WinText относительно того, что предложил НеТ Вопросов(IfWinExist, Оповещение системы безопасности Windows)? Где об этом можно почитать?

Всего записей: 19 | Зарегистр. 15-05-2016 | Отправлено: 11:21 21-12-2016
kykrinik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Окна с одинаковыми названиями могут содержать разный текст и одинаковые кнопки,
если таких окон больше одного, а значение WinText не указано, будут обработаны все окна вместо одного.
2. SetTitleMatchMode, MatchMode имеет три режима интерпретации значения WinTitle.
 
Файл справки:  
Run, %A_AhkPath%\..\AutoHotkey.chm
 
Apache может быть значением WinText.

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 16:18 21-12-2016 | Исправлено: kykrinik, 17:19 21-12-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