Что нового

[Окна, Диалоги] Как узнать элемент окна OscarEditor

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
Нужно узнать класс кнопки закрытия окна. Элементов в окне много, но ни один не сканируется.

Окно OscarEditor

Пробовал Au3Info

Window Scanner

и ControlViewer (пустое окно).
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
не виндовый интерфейс. нужно использовать инструменты того графического движка на котором написан GUI.
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
Kaster
Как можно узнать? Или попробовать в службе поддержки спросить? :smile:
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Mancoffee
Действительно, странное какое-то окно (у меня OscarEditor тоже есть)

А зачем нужно знать про кнопку закрытия окна?
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
madmasles
madmasles сказал(а):
Не:smile: Уже пробовал. Почему-то выходит вообще из программы. Хотя должно закрываться и оставаться в трее.

WSWR
WSWR сказал(а):
зачем нужно знать про кнопку закрытия окна?
Да немного подустал после перезагрузки закрывать окна, которые по идее не должны появляться. Если вручную нажимаю на крестик, то окно закрывается и программа остатся висеть в трее.
Код:
@SWHIDE
почему-то сворачивает и иконка остатся висеть на панели задач и если нажимешь, то ничего не происходит.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Mancoffee,
А при нажатии на клавишу Esc, это окно (активное) закрывается?
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Mancoffee [?]
Если вручную нажимаю на крестик, то окно закрывается
Обычно такие нарисованные окна имеют постоянный размер. Следовательно можно использовать клик по координатам. Если ControlClick() не сработает (в связи с отсутствием контрола), то MouseClick() точно пройдёт.
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
InnI
InnI сказал(а):
нарисованные окна имеют постоянный размер. Следовательно можно использовать клик по координатам. Если ControlClick() не срабо
Да, уже пробовал. Окно статично, но появляется в двух позициях (то есть иногда слева вверху, а иногда по средине), поэтому клик тоже не прокатил.
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Mancoffee [?]
поэтому клик тоже не прокатил.
Потому что кликать нужно или относительно окна
Код:
Opt("MouseCoordMode", 0)
или относительно клиентской области
Код:
Opt("MouseCoordMode", 2)
В данном случае это одно и то же.
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
InnI
Спасибо :smile:. Сделал так

Код:
Opt("MouseCoordMode", 2)
$ProgramFilesDir32 = EnvGet('ProgramFiles(x86)')

Run($PROGRAMFILESDIR32 & "\OSCAR Editor X7\OscarEditor.exe")

WinWaitActive('OscareditorForm', '', 5)
WinActivate('OscareditorForm')
ControlClick('OscareditorForm', '', '', '', 1, 710, 50)

Отлично работает.
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
Вообще-то, координаты в ControlClick() всегда считаются относительно самого контрола и опция "MouseCoordMode" никак на это не влияет.
 
Автор
Mancoffee

Mancoffee

Свет проталкивает тьму ...
Сообщения
86
Репутация
1
InnI
Угу. Спасибо ещё раз. Работает :smile:

P.S. Всё решилось намного проще. У программы есть параметр "Minimum" :smile:
 
Верх