Главная » Статьи » Как пользоваться AutoHotkey » Как пользоватся AutoHotkey |
Имитация нажатия клавиш и щелчков мыши на AutoHotKey
Для отправки сигнала о нажатии клавиши в активное окно используется команда Send(переводится, как отправить). В первом примере, комбинация Win+пробел назначается горкнопкой для ввода фразы "Здрасти, Добрый день!» (убедитесь, что окно, в котором вы хотите увидеть этот текст, открыто и нажмите Win+S) #space:: Send Здрасти,{Enter}Добрый день! return В этом примере все нажатия клавиш отправляются в активное окно в буквальном виде кроме набора символов {Enter} поскольку такой синтаксис эмитирует нажатие клавиши Enter благодаря фигурным скобкам, обрамляющим слово Enter. В следующем примере показан другой пример часто используемых символов. Чтоб он сработал, откройте сразу два Блокнота. #space:: Send ^с!{tab}Вставить:^м return Строка выше посылает Ctrl+C вместе Alt+Tab сопровожденное строчкой "Вставить" и комбинацией Ctrl+V. Символ "^" обозначает клавишу Ctrl, символ "!" обозначает клавишу ALT , {tab} это кнопка tab. Дальше за место английской "c" используется наша "с" и вместе латинской "v" мы использовали кириллическую "м" поскольку эти клавиши совпадают расположением и не вызывают глюков в автохоткее. Смотри полный список специальных символов и клавиш для команды Send. Для ускорения печати текста в окне любой программы можно использовать, так называемые гор.строчки. Это может пригодиться, например, в чате игры, где вам часто приходится писать одинаковые и длинные сообщения, на которые у вас нет времени, в этом положении вам поможет использование горстрок. В примере ниже сокращение "ог» (или любое другое на ваше усмотрение) используется для вывода длинной фразы, например такой "осторожно граната разбегайся, а то каюк, и простите те, кто не успеет, ваша смерть будет не напрасной, я отомщу!". Гор. Сокращение "ог" в примере обрамлено двумя парами двойных кавычек (это обязательное условие для работы скрипта) Важно, скрипт сработает, если только в окне чата игры (или другой программы) после "ог" пропечатать пробел или запятую, которые так же выводятся вместе с текстом. Что вполне логично. ПРИМЕР ::ог::осторожно граната, разбегайся, а то каюк, простите те, кто не успел, ваша смерть была не напрасной поверьте{!} -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Как использовать AutoHotkey для имитации кликов мышки В этом уроке мы нарисуем с помощью AutoHotkey домик в стандартной программе MSpaint Для того чтоб отправить клик мышки в активное окно, необходимо для начала уметь определят координаты X и Y места на экране куда нужно отправить наше событие вызванное нажатием клика мышки. Это делается при помощи специальной программы, включенной в состав AutoHotkey - AutoIt3 Window Spy. И так начнем учиться, работе с этой утилитой, для этого вам потребуется выполнить следующие шаги. 1. Для начала запустите саму AutoIt3 Window Spy из трэя на запущенном скрипте или из меню Пуск -> все программы -> AutoHotkey -> AutoIt3 Window Spy. Окно Window Spy всегда будет находиться поверх остальных запущенных окон эту нужно для удобства работы, что весьма полезно, например, в играх которые, запускаясь разворачиваются на весь экран поверх всех программ. 2. Активизируйте подопытное окошко программы, щелкнув для этого по его заголовку, или используя комбинацию клавиш alt+tab или другим способом. 3. Переместите курсор мыши в ту часть окна, где должно произойти интересующее вас событие с мышью и посмотрите в окно AutoIt3 Window Spy. Запишите координаты показанные в нем ,их видно в строчке On Screen:(на ней отображаются координаты на рабочем столе) и\или из строчки In Active Window: (где отображаются координаты активного окна) в зависимости от того какая область вас интересует на данный момент. На Windows XP можно воспользоваться комбинацией Shift-Alt-Tab чтобы заморозить Window Spy и перейти в него для копирования цифр. 4. Подставите ваши координаты в скрипте после команды MouseClick(команда переводится как МышьЩелчек) через запятую и после обозначения кнопки мыши. Например, как в следующем примере мышка щелкает левой кнопкой в указанные координаты: Пример: MouseClick, Left, 30, 20 второй пример записи той же команды с сокращённой командой MouseClick, L, 30, 20 Разбор полета. MouseClick это команда, используемая для задания щелчков мыши имеющей три параметра прописываемые через запятую. Первый параметр обозначает кнопку мыши(L и Left обозначают левую кнопку, для правой кнопки служит параметр Right или R, Middle или M для средней кнопки с колёсиком, X2 пятая, X1 четвёртая). Второй и третий параметр являются координатами места, где производится щелчок мышки. Для того чтобы просто переместить мышь не щелкая, применяется команда MouseMove (переводится как МышьДвижение) с указанием начальных и конечных координат. #space:: MouseMove, 30, 20 Для перетаскивания мышью любых объектов, используется команда MouseClickDrag(переводится МышьЩелчекТащить), эта команда имеет пять полезных параметров разделяемых запятой. Первый это кнопка мыши второй и третий начальные координаты, четвертый и пятый конечные координаты или координаты где мышка отпускается. #space:: MouseClickDrag,L,40,15,111,250 return Этот скрипт перетаскивает верхнюю левую иконку на рабочем столе в указанные координаты, так что смотрите, чтоб это место (см. координаты) было пусто иначе ... надеюсь, у вас есть на шее нечто собственное, я не виноват. Скрипт снизу запустит рисовалку Майкрософт и нарисует в нем домик. В нем присутствует важная команда WinWaitActive, которая говорит автохоткею дождаться активации указанного вами окна, чтобы продолжить действия скрипта, это очень часто используемая команда обычно прописывается после команды Run. Теперь вам надо узнать, как определять название той программы, которую нужно дождаться. Для этого применяют программу AutoIt3 Window Spy. Научимся искать в ней название требуемой программы, для этого запустите и активизируйте требуемую программу-пациента и посмотрите в окне AutoIt3 Window Spy строку ahk_class. После ahk_class идет название активной программы. Пропишите эту строку через запятую после команды WinWaitActive и затем добавьте ,, 2 и с новой строки if ErrorLevel затем с новой строки return. Дальше уже можете писать то, что требуется выполнить в этой программе. #space:: Run, mspaint.exe WinWaitActive, ahk_class MSPaintApp,, 2 if ErrorLevel return MouseClickDrag, L, 150, 250, 150, 150 MouseClickDrag, L, 150, 150, 200, 100 MouseClickDrag, L, 200, 100, 250, 150 MouseClickDrag, L, 250, 150, 150, 150 MouseClickDrag, L, 150, 150, 250, 250 MouseClickDrag, L, 250, 250, 250, 150 MouseClickDrag, L, 250, 150, 150, 250 MouseClickDrag, L, 150, 250, 250, 250 return Другие FAQ по AutoHotKey здесь | |
Категория: Как пользоватся AutoHotkey | Добавил: neohonar (06.10.2012) | |
Просмотров: 41517 | Комментарии: 15 |
Всего комментариев: 15 | 1 2 » | ||||
|