Что нового

[Окна, Диалоги] Автоматическое нажатие на кнопки

kiber-niger

Новичок
Сообщения
12
Репутация
0
Добрый день!

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

из прочитанного я так понял, что для этого пригодится функция controlsend, но что в параметрах необходимо верну указать, не понял. Если воспользоваться утилитой AutoIt Window Info Tool, то при наведении на разные кнопки информация при этом не различается..

Подскажите, как быть?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Попробуй на основе примера.
Калькулятор Windows - жмем на 7.
Код:
$Var1 = WinWait("[Class:SciCalc]")
While 1
	Sleep (100)
	If $Var1 <> 0 Then
		ControlClick($Var1, "", "[CLASS:Button;INSTANCE:5]")
		ExitLoop
	EndIf
WEnd
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
я не совсем понимаю, как определить, что писать в параметрах функции ControlClick.
Каким образом это определяется?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
kiber-niger
C:\Program Files\Autoit3\AutoIt Window Info
убери frozen, наводи на нужные элементы окна и узнаешь его параметры
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
В том и проблема, что наводя на разные элементы у меня изменяется лишь координата курсора, а все остальные параметры не изменны остаются.
Смотрю во вкладке control. Наводя на любой элемент отображается:
Advanced Mode: [CLASS:Internet Explorer_Server; INSTACE: 1]
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
kiber-niger
что за программа?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
В контрол клике есть еще координаты клика :whistle:
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
программа корпоративная, название ни о чем не скажет. но точно такая же ситуация наблюдается например в антивирусе нод, там нет информации о кнопке, в отличае от того же калькулятора.

Что касается координат, я об этом думал, но мне кажется это не универсальный метод, разве на разных маштнах у нас все будет на одинаковых координатах?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
kiber-niger
тогда программа использует графический движок не распознаваемый AutoIt (какой-нибудь gtk или qt, не знаю). тогда кликать по кнопкам программно не получится. разве что mouseclick'и. другой вариант, может есть ключи командой строки.
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
а с координатами я ошибаюсь, или действительно на разных машинах будут разные координаты?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
kiber-niger
зависит от твоей программы. если она умеет подстраиваться под разные разрешения монитора, то да. но это редкость. обычно в стандартном положении окна относительные координаты элементов управления одни и те же. но если развернуть окно на весь экран, то поменяются.
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
спасибо, проверю на разных компах. посмотрим, что с этого выйдет.
 
Автор
K

kiber-niger

Новичок
Сообщения
12
Репутация
0
С координатами все получилось, спасибо!

А такой вопрос: не знаете, можно ли как-то открыть окно программы с заданными координатами, и чтобы оно было за пределами рабочего стола? Я открываю командой Run, но там нет подобных параметров.
 
Верх