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

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, kykrinik
Почему-то код:

Код:
 
Run %A_ScriptDir%\xampp\xampp_start.exe
sleep 8000
IfWinExist, Оповещение системы безопасности Windows  
  ControlClick, Разрешить доступ, Оповещение системы безопасности Windows  
 

не срабатывает для этого всплывающего окна:
   
Дело в этом SetTitleMatchMode?

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IfWinExist, Оповещение системы безопасности Windows, Apache
Msgbox 1 Exist
Else
Msgbox 1 Not
IfWinExist, Оповещение
Msgbox 2 Exist
Else
Msgbox 2 Not
ControlGetText, OutputVar , Button1, Оповещение
Clipboard = %OutputVar%
Msgbox "%OutputVar%"
и вставить содержимое буфера обмена в текстовый редактор.
или этим (фокус на исследуемое окно или контрол):
Run, %A_AhkPath%\..\AU3_Spy.exe

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 17:46 21-12-2016 | Исправлено: kykrinik, 18:27 21-12-2016
borro



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

Цитата:
и вставить содержимое буфера обмена в текстовый редактор.

выводится два раза Not, а "" в последнем сообщении, соответственно при вставке в редактор содержимого буфера обмена ничего не вставляется.

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

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

Цитата:
или этим (фокус на исследуемое окно или контрол):
Run, %A_AhkPath%\..\AU3_Spy.exe

Название окна надо скопировать из AU3_Spy.exe.

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да вроде оно там такое же как я указывал в коде:
   
не вижу отличия

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если Unicode=1, то и сам скрипт должен быть в кодировке unicode, вот этот файл:
MsgBox Admin=%A_IsAdmin%`n`nUnicode=%A_IsUnicode%`n`n%A_ScriptFullPath%

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе утро.
Спасибо.
А можно как-то отметить во всплывающем окне брандмауэра галочку для строки "Общественные сети...", не опираясь на координаты мыши, а привязавшись к этому тексту?
 
Добавлено:

Цитата:
Если Unicode=1, то и сам скрипт должен быть в кодировке unicode, вот этот файл:  
MsgBox Admin=%A_IsAdmin%`n`nUnicode=%A_IsUnicode%`n`n%A_ScriptFullPath%

Да Unicode = 1. Чтобы сделать исполняемый .exe файл в кодировке Unicode надо в момент компиляции для опции Base File (.Bin) выбрать вариант с упоминанием Unicode или исходник .ahk должен быть в Unicode? Исходник у меня в UTF-8 без bom

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#NoEnv
#SingleInstance, Force
FileEncoding, UTF-8        ;UTF-8=скрипт будет читать и создавать тексты UTF-8+BOM;    UTF-8-RAW=...тексты UTF-8 без BOM
FirewallTitle =  Оповещение системы безопасности Windows
Control, Check , , &Частные сети`, например`, домашняя , %FirewallTitle%, Apache
Control, Check , , &Общественные сети`, например в аэропортах и кафе , %FirewallTitle%, Apache
Msgbox проверка отмеченных чекбоксов
ControlClick, &Разрешить доступ, %FirewallTitle%, Apache
 
Run, C:\Windows\hh.exe C:\Program Files\AutoHotkey\AutoHotkey.chm::/docs/Scripts.htm#cp
Run, C:\Windows\hh.exe C:\Program Files\AutoHotkey\AutoHotkey.chm::/docs/commands/FileEncoding.htm#
 
Компиляция batch (*.bat, *.cmd):
Ahk2Exe.exe /in infile.ahk [/out outfile.exe] [/icon iconfile.ico] [/bin AutoHotkeySC.bin] [/mpress 1 (true) or 0 (false)] [/cp codepage]
"C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "D:\Apache+Firewall.ahk" /out "D:\Apache+Firewall 64bit.exe" /icon "D:\Apache.ico" /bin "C:\Program Files\AutoHotkey\Compiler\Unicode 64-bit.bin" /mpress 1 /cp 1200
если скрипт, как и было задумано автором, в utf-16LE+BOM, то [/cp codepage] не нужна.

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 10:57 22-12-2016 | Исправлено: kykrinik, 11:55 22-12-2016
borro



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.
Что то пока не отмечает чекбоксы. А само сообщение(Msgbox проверка отмеченных чекбоксов ) выводится на тарабарском
 
Показываю весь исходник:

Код:
#NoEnv  
#SingleInstance, Force  
FileEncoding, UTF-8 ;UTF-8=скрипт будет читать и создавать тексты UTF-8+BOM;    UTF-8-RAW=...тексты UTF-8 без BOM
 
DetectHiddenWindows, On
 
; выключаем cкайп
vWin := "ahk_exe skype.exe"
 
IfWinExist, %vWin%
{
    WinClose
    ; return true
}
 
DetectHiddenWindows, On
WinGet, myList, list, ahk_exe skype.exe ; retrieve a list of all Skype windows
Loop %myList% ; myList gets the value of how many windows were found
{
WinClose, %  "ahk_id " myList%A_Index% ; this accesses variables myList1, myList2, etc. that have an ahk_id value, which we use with WinClose to close it. The lone % is to force an expression.
}
; выключаем cкайп КОНЕЦ
 
sleep 1500
 
Run %A_ScriptDir%\xampp\xampp_start.exe
 
sleep 4000
 
SetTitleMatchMode, 2
 
FirewallTitle =  Оповещение системы безопасности Windows  
Control, Check , , &Частные сети`, например`, домашняя , %FirewallTitle%, Apache  
Control, Check , , &Общественные сети`, например в аэропортах и кафе , %FirewallTitle%, Apache  
Msgbox проверка отмеченных чекбоксов  
ControlClick, &Разрешить доступ, %FirewallTitle%, Apache
 
Run, http://localhost/antilopagold.su/
 

Компилировал командой

Код:
"C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe" /in "D:\start.ahk" /out "D:\start 64bit.exe" /icon "D:\start.ico" /bin "C:\Program Files\AutoHotkey\Compiler\Unicode 64-bit.bin" /mpress 1 /cp 1200
в командной строке.
 
Может, чтобы отмечались чекбоксы, надо привязываться к их классу? Что-то вроде Button5 я встречал, когда тыкал AU3_Spy.exe

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
мой скрипт utf16lebom для сравнения, не редактировать и не сохранять, только запуск:  
Выполнить: "C:\Program Files\AutoHotkey\AutoHotkeyU64.exe" "C:\Users\%UserName%\Desktop\Apache.ahk"  
 
#NoEnv
#SingleInstance, Force
WinClose, ahk_class tSkMainForm
Run C:\xampp\xampp_start.exe
Loop,100
    {
    Sleep, 250
    Process, Exist, xampp_start.exe
    if ErrorLevel not in ,0
        Break
    }
FirewallTitle =  Оповещение системы безопасности Windows
WinWait, %FirewallTitle%, Apache, 25
if ErrorLevel =1
    {
    Msgbox ошибка. не найдено окно `n`n%FirewallTitle%
    ExitApp
    }
Control, Check , , &Частные сети`, например`, домашняя , %FirewallTitle%, Apache
Control, Check , , &Общественные сети`, например в аэропортах и кафе , %FirewallTitle%, Apache
Msgbox проверка отмеченных чекбоксов
ControlClick, &Разрешить доступ, %FirewallTitle%, Apache
Run, http://localhost/antilopagold.su/
ExitApp

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 15:11 22-12-2016 | Исправлено: kykrinik, 16:35 22-12-2016
borro



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, kykrinik!
 
Да, Ваш код выделил чекбокс.  
В чем была моя ошибка?
 
Позвольте вопросы по вашему скрипту:
1. WinClose, ahk_class tSkMainForm - что вы этим закрываете?
2. Вопрос про loop - получается он в течение 25 секунд работает не пуская к исполнению ниже лежащий код. Зачем это?
3. Строка WinWait, %FirewallTitle%, Apache, 25  
Судя по описанию команды WinWait Аpache - это WinText. Но как вы его подобрали? Окно AU3_Spy.exe об этом значении не давало никакой информации, куда бы я не наводил мышкой по нему. Плохо водил?
4. Еще такое же окно вылетает при старте сервера Mysql:  
   
Получается надо просто продублировать блок со строки 16 по 26 только со словом Mysqld?
5. Почему у меня печатались кракозябры(если смотреть мой исходник) выше, а у вас нет?
6. Ваша кодировка utf16lebom запустится на любых Windows выше XP?

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. закрывает Skype
2. вместо этого (я думал, ждём запуска xampp_start.exe, чтоб сработал Firewall, хотя Firewall спрашивает один раз, и мы разрешаем):  
Run %A_ScriptDir%\xampp\xampp_start.exe  
sleep 4000  
3. edit-controls AU3_Spy.exe скролятся, просто весь текст не виден.
4. или со словом Mysqld.exe или другим отличительным
5a. у меня здесь прописан AutoHotkeyU64.exe :
HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Open\Command\
5b. в текст-редакторе Emeditor я создал конфигурацию для ahk, согласно которой ahk и открываются и сохраняются в cp1200 (utf16lebom). Как в других, не знаю.
6. кодировка не имеет отношения к ОС.

Всего записей: 227 | Зарегистр. 29-03-2016 | Отправлено: 18:47 22-12-2016 | Исправлено: kykrinik, 18:54 22-12-2016
iglis

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoHotkey 1.1.24.05   February 3, 2017

Цитата:
Fixed WinSet AlwaysOnTop/Trans/TransColor to work on windows with 0 exstyle.

Всего записей: 238 | Зарегистр. 25-09-2005 | Отправлено: 20:17 03-02-2017
tramparamparam02



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заранее извиняюсь за детский вопрос. Насколько я понимаю, сабж служит в основном для переназначения клавиш: допустим, нажимаем на клавиатуре клавишу Shift, а системе посылается последовательность из нажатий 100 клавиш.  
 
А можно ли написать скрипт, который посылал бы системе последовательность нажатий, скажем, {Alt}+{Win}+{F1} непосредственно из скрипта, не нажимая ни одной клавиши? Идея в том, чтобы запускать этот скрипт из ярлыка при помощи мыши в ситуации. когда клавиатура недоступна.
 
Спасибо!

Всего записей: 2381 | Зарегистр. 30-03-2016 | Отправлено: 12:15 17-02-2017 | Исправлено: tramparamparam02, 12:35 17-02-2017
Samotek

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Насколько я понимаю, сабж является интерпретатором и, да, он это может.

Всего записей: 2594 | Зарегистр. 18-05-2005 | Отправлено: 12:19 17-02-2017
tramparamparam02



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Samotek 11:19 17-02-2017
Цитата:
да, он это может.

Спасибо! А не поможете составить пример такого скрипта?

Всего записей: 2381 | Зарегистр. 30-03-2016 | Отправлено: 12:36 17-02-2017
Samotek

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

Цитата:
А не поможете составить пример такого скрипта?

Если вы почитаете документацию, то поймете, что это самое простое, что можно сделать с сабжем
Например:
send !#{F1}

Всего записей: 2594 | Зарегистр. 18-05-2005 | Отправлено: 16:37 17-02-2017
Nikita9404

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, помогите, пожалуйста составить бин. Нужно чтобы по нажатию определенного сочетания клавиш, выполнялось другое сочетание. В новой программе не удобно прописаны псевдонимы команд. Я уже привык к автокадовским к примеру у меня Л - команда ЛИНИЯ (строит отрезок). ПЛ - команда ПОЛИЛИНИЯ (строит ломанную линию). И т.д. Теперь приходится работать еще в одной программе, в ней псевдонимы команд можно вызывать только через сочетания спец. клавиш и букв, - т.е. таже ЛИНИЯ - вызывается через Ctrl+T. Хочу переназначить для себя как привык. Переназначить одну клавишу смог, а вот две не получается, прошу помочь.
Нужно чтобы  к примеру при нажатии клавиш СЧ (привычный псевдоним команды "список чертежей") на выполнение уходило как Ctrl+H.
Спасибо.

Всего записей: 4 | Зарегистр. 16-05-2011 | Отправлено: 12:55 12-03-2017
HeT BonpocoB



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nikita9404
Hotstrings and Auto-replace

Всего записей: 1342 | Зарегистр. 30-03-2003 | Отправлено: 19:57 12-03-2017
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли качественный и безошибочный аналог Punto Switcher на AHK?
Нагуглилось несколько, но там бородатых времен еще код.. Поделитесь кто знает и пользуется.

Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 21:18 12-03-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