PDA

Просмотр полной версии : AutoHotkey*


NNN
18.11.2008, 15:58
http://screen.battlefox.ru/data/570/AutoHotkey_logo_no_text.gifAutoHotkey - это свободная утилита под Windows с открытыми исходными кодами. С помощью этой программы вы сможете:
Автоматизировать почти все процессы лишь нажатием клавиши или кликом мыши. Вы можете писать макросы вручную или с использованием макрорегистраторов.
Задавать "горячие" клавиши для клавиатуры, джойстика и мыши. Практически любая клавиша, кнопка или комбинация может стать "горячей" клавишей.
Использовать автозамену при печатании. Например, аббревиатура "btw" может автоматически заменяться на "by the way".
Создавать пользовательские формы ввода данных, пользовательские интерфейсы и меню. Чтобы получить дальнейшую информацию, см. раздел, посвященный GUI.
Переназначать клавиши и кнопки на клавиатуре, джойстике или мыши.
Передавать сигналы ручного пульта дистанционного управления через клиентский скрипт WinLIRC.
Пользоваться уже существующими скриптами AutoIt v2, а также добавлять в них новые возможности.
Конвертировать любой скрипт в EXE-файл, который затем можно запустить даже на компьютерах, где не установлен AutoHotkey.Подробный рускоязычный сайт: http://www.script-coding.info (http://www.script-coding.info/AutoHotkeyTranslation.html)

Домашняя страница: http://www.autohotkey.com/

.:: Скрытый текст<br />Вы должны войти под своим логином или зарегистрироваться и иметь 25 сообщение(ий) ::.Скрипт для примера:


ScrollLock::Run Notepad
+ScrollLock::Run PBrush
!ScrollLock::Run Calc

+Capslock::Capslock

Capslock::
Send {LAlt down}
KeyWait Capslock
Send {Shift}
Send {LAlt up}
returnпереобределяет клавиши:
Capslock - смена языка (должно быть Alt+Shift)
Ctrl+CapsLock - сам CapsLock
ScrollLock - Notepad
Shift + ScrollLock - PBrush
Alt + ScrollLock - Calc

можно скомпилировать 74756

Озеро
24.11.2008, 02:32
Спасибо! Это то что меня интересует.

rmn
24.11.2008, 02:41
полезная штука, пользуюсь несколько месяцев. Один существенный минус - нельзя запускать скрипты по расписанию, когда экран заблокирован.

NNN
24.11.2008, 15:00
rmn, а что делаешь? какие клавиши.. если не секрет :)

rmn
24.11.2008, 19:48
NNN, ну вот, например, программа по работе - никак не автоматизируется, а запускать приходится каждый день.

Примерно такой скрипт сбацать пришлось. :)

; в TimeString сохраняем вчерашнюю дату в формате jul_06
; ее используем в конце как имя файла отчета
Y_Date := A_Now
Y_Date += -1, d ; must be: += -1
FormatTime, TimeString, %Y_Date% L0x0809 , MMM_dd
StringLower, TimeString, TimeString
; запускаем BLAHBLAH
Run "C:\Program Files\BLAHBLAH.exe"
; логинимся
WinWait, Регистрация blah0
IfWinNotActive, Регистрация blah0, WinActivate, Регистрация blah0,
WinWaitActive, Регистрация blah0,
Send, admin{ENTER}
WinWait, Система BLAHBLAH,
IfWinNotActive, Система BLAHBLAH, , WinActivate, Система BLAHBLAH,
WinWaitActive, Система BLAHBLAH,
; разворачиваем окно на весь экран
WinMaximize, Система BLAHBLAH,
Sleep, 1000
; выбираем на панели слева BLAH1
MouseClick, left, 34, 348
Sleep, 35000
; выбираем на панели слева BLAH2
MouseClick, left, 34, 237
Sleep, 100
; выбираем кой-чё
MouseClick, left, 185, 137
Sleep, 100
; за вчера
MouseClick, left, 183, 156
Sleep, 100
; применить изменения
MouseClick, left, 447, 131
Sleep, 100
; ждем окна подтверждения
WinWait, Информация,
IfWinNotActive, Информация, , WinActivate, Информация,
WinWaitActive, Информация,
; подтверждение
Send, {ENTER}
; !!!! немного ждем - иначе не работает
Sleep, 3000
; ждем завершения генерации отчета
WinWaitActive, Система BLAHBLAH,
; нажимаем кнопку Экспорта в excel
MouseClick, left, 356, 132
; ждем диалог сохранения
WinWaitActive, Сохранить как
; вводим вчерашнюю дату в качестве имени файла отчета
Send, %TimeString%{ENTER}
; немного ждем
Sleep, 7000
; и закрываем BLAHBLAH
WinClose, Система BLAHBLAH
; if FileExist("C:\_logs\%TimeString%.xls")
; запускаем excel
Run "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" "C:\_logs\%TimeString%.xls"
WinWait, Microsoft Excel - %TimeString%.xls,
IfWinNotActive, Microsoft Excel - %TimeString%.xls, , WinActivate, Microsoft Excel - %TimeString%.xls,
WinWaitActive, Microsoft Excel - %TimeString%.xls,
; разворачиваем на весь экран
WinMaximize, Microsoft Excel - %TimeString%.xls,
Sleep, 1000
; запускаем макрос
MouseClick, left, 642, 87
; немного ждем
Sleep, 10000
; закрываем excel
WinClose, Microsoft Excel - %TimeString%.xls,
Sleep, 1000
; копируем отчеты на сервер
Run "C:\blahblahdir\copy_logs.bat"

NNN
25.11.2008, 13:29
rmn, у меня такой кусочек есть, каждый день использую:

#IfWinActive, AutoCAD

`::^1
Tab::^Tab

XButton1::Del
<^XButton1::Send u {}
+XButton1::Send explode {}

XButton2 Up::Send {Esc}
<^XButton2::Send copy {}
+XButton2::Send move {}
>^XButton2::Send rotate {}

XButton2 & F::Send {Up}
XButton2 & D::Send {Down}
XButton2 & R::Send p {}

XButton2 & W::Send ucs {}
XButton2 & Q::Send ucs ob {}


!F3::Send dist {}
>^F3::Send m2p {}
<^F3::Send nea {}
+F3::Send from {}

LControl & WheelUp::Send extend {}
LControl & WheelDown::Send trim {}

Alt & WheelUp::
Loop 7
Send {WheelUp}
return

Alt & WheelDown::
Loop 6
Send {WheelDown}
return

LShift & WheelUp::Send mirror {}
LShift & WheelDown::Send stretch {}

#IfWinActive

Slava
06.05.2009, 21:04
:reload: AutoHotkey 1.0.48.03
1.0.48.03 - May 3, 2009
-Fixed "ListLines On" not to erase the most recent log entry in the line history. [thanks Lexikos]
-Fixed ListView to respond properly to mouse dragging when timers are running. [thanks Solar]
-Fixed key-up hotkeys so that if one is created while its key is being held down, the release of the key doesn't trigger the wrong hotkey. [thanks Peter & engunneer].:: Скрытый текст<br />Вы должны войти под своим логином или зарегистрироваться и иметь 25 сообщение(ий) ::.

bbb-80
01.08.2009, 20:42
В общем нужна программа которая имитирует клавиши,
например , нажимаю num5, а в место этого нажимается a,z,g только не одновременно а с минимальным интервалом.
может быть плохо искал, но в итоге не нашел.

кто знает как сделать выделенное ?

Slava
04.04.2011, 10:20
Уважаемые, не подскажете как написать скрипт для завершения заранее известного процесса? простыми словами нужно закрыть запущенное приложение.

Короче у меня по определенному событию запускается прога, теперь нужно по другому событию ее закрыть.

zloy_kaktus
04.04.2011, 14:46
taskkill - виндовозно
если к этой программе то тут
http://www.script-coding.com/AutoHotkey/Process.html

Slava
04.04.2011, 15:57
zloy_kaktus, типа так что-ли?
taskkill /f /im прога.exe

Slava
04.04.2011, 23:17
zloy_kaktus, спасибо, работает, только прога, та что закрываю, в трее висит и при закрытии значок от нее остается, пока на него мышой не наведу =(

upd: короче добавил в 1-й скрипт #NoTrayIcon и все ок, еще раз спасибо!

a2z
04.04.2011, 23:51
Slava, а люди тут (http://www.autohotkey.com/forum/topic8086.html) так убиваются пытаясь решить такую же проблему :)