Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Передвинуть курсор на элемент окна

Ответить
Настройки темы
[решено] Передвинуть курсор на элемент окна

Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


Добрый день!
Пишу скрипт, который будет выполнять некоторые вещи пока я буду в отпуске
Возникла проблемка, не могу сообразить как заставить Autoit переместить курсор на нужную кнопку в окне программы.
Проблема к в том что кнопка находится в блоке, у блока есть свой Handle, а у самой кнопки нету.
Координаты кнопки внутри этого блока всегда одни и те же. Как навести курсор на кнопку?

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 14:41, 09-03-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Получить координаты элемента управления. Сдвинуть мышь на эти координаты плюс дельта до нарисованной кнопки. Наподобие (для Windows XP с классической темой):
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)
AutoItSetOption("MouseCoordMode", 2)

Run("mspaint.exe")

WinWait("[CLASS:MSPaintApp]")
WinActivate("[CLASS:MSPaintApp]")

Local $hPalette = ControlGetHandle("[CLASS:MSPaintApp]", "", "[CLASS:AfxWnd42u; INSTANCE:1]")
Local $aPalettePos = ControlGetPos("[CLASS:MSPaintApp]", "", $hPalette)
MouseMove($aPalettePos[0] + 70, $aPalettePos[1] + 30)
MouseClick("left")

Local $hTools   = ControlGetHandle("[CLASS:MSPaintApp]", "", "[CLASS:AfxWnd42u; INSTANCE:2]")
Local $aToolsPos   = ControlGetPos("[CLASS:MSPaintApp]", "", $hTools)
MouseMove($aToolsPos[0] + 40, $aToolsPos[1] + 40)
MouseClick("left")

Local $hEditArea = ControlGetHandle("[CLASS:MSPaintApp]", "", "[CLASS:Afx:1000000:8; INSTANCE:1]")
Local $aEditArea = ControlGetPos("[CLASS:MSPaintApp]", "", $hEditArea)
MouseMove($aEditArea[0] + 100, $aEditArea[1] + 100)
MouseClick("left")

Отправлено: 16:24, 09-03-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


Не совсем понял. Т.е. нужно получить координаты блока, в котором находится нужная кнопка?

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 19:29, 09-03-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата McLotos:
Т.е. нужно получить координаты блока, в котором находится нужная кнопка? »
Координаты элемента управления, от которого будете «танцевать» дальше. Затем смещение от этих координат — посмотрите на приведённый выше код примера и рисунок с демонстрацией такого рода «кликов» по областям «Палитра» и «Инструменты» в Microsoft Paint.

Отправлено: 21:34, 09-03-2014 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Передвинуть курсор на элемент окна

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
HDD - На hdd отсутствует один элемент se123 Накопители (SSD, HDD, USB Flash) 2 05-05-2012 22:11
Система - Курсор с мышкой отказываются работать сообща....Курсор подвисает.... FieryHorse Программное обеспечение Windows 2 19-12-2010 12:47
[решено] Содрал элемент на чипе FRZ Видеокарты 4 16-07-2010 22:12
Как передвинуть слайдер в медиапроигрывателе на n секунд вперед/назад? evg64 AutoIt 3 16-11-2009 07:45
Пропал элемент диалогового окна antOOn Microsoft Windows 2000/XP 8 29-01-2005 00:19




 
Переход