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

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

Открыть новую тему     Написать ответ в эту тему

chum2000

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

   
 
Актуальная версия: AutoHotkey 1.1.29.01 от 2 июня 2018
 
Официальный сайт | Англоязычный форум | Русскоязычный форум
Документация (англ.) | Документация и статьи (рус.) | История изменений
 
Подборка полезных скриптов | AutoHotkey + Total Commander
 

Цитата:
AutoHotkey — бесплатная open-source программа для создания макросов и автоматизации, позволяющая упростить повторяющиеся задачи.
 
AutoHotkey позволяет изменить интерфейс практически любой программы. Имеет собственный скриптовый язык, нацеленный специально на лёгкое назначение и переназначение горячих клавиш.
 
AutoHotkey можно использовать для запуска программ, отправки текста, симуляции мыши. Скриптовый язык позволяет управлять окнами, файлами и папками. Команды могут быть активированы горячими клавишами.
 
Также имеются возможности создания GUI, работы с реестром, использования собственного API окон для вызова DLL файлов. Скрипты можно скомпилировать в exe файл и запускать на любом компьютере с ОС Windows соответствующей версии.
 
Наиболее частое применение AutoHotkey:
- переназначение клавиш, глобально или у отдельных программ.
- управление мышкой с помощью клавиатуры или джойстика.
- слежение за системой, автоматическое выполнение некоторых действий по желанию пользователя, таких как напоминание, сканирование или резервное копирование.
 
САМОЕ ГЛАВНОЕ - программа бесплатна и с исходниками.

Всего записей: 500 | Зарегистр. 04-03-2004 | Отправлено: 00:28 02-06-2005 | Исправлено: iglezz, 15:03 07-07-2018
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

Всего записей: 221 | Зарегистр. 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.

Всего записей: 221 | Зарегистр. 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%

Всего записей: 221 | Зарегистр. 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] не нужна.

Всего записей: 221 | Зарегистр. 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

Всего записей: 221 | Зарегистр. 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. кодировка не имеет отношения к ОС.

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

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

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

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



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

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

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

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



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

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

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

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

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

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

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

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

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



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

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



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

Всего записей: 1750 | Зарегистр. 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

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoHotkey

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru