задача стояла просто - сделать так, чтоб ПО развернулось на полный экран без участия пользователя,
все нужное нашел в хелпе, но столкнулся с проблемой - MouseClick использует отсчёт координат с позиции курсора, а мне нужен клик в определенной области активной программы, причем - позиция окна ПО может измениться (многомониторный режим),
вот что получил от AutoIt Window Info:
вот что выполнил по нелпу:
осталось только найти и подставить правильные координаты в MouseClick
все нужное нашел в хелпе, но столкнулся с проблемой - MouseClick использует отсчёт координат с позиции курсора, а мне нужен клик в определенной области активной программы, причем - позиция окна ПО может измениться (многомониторный режим),
вот что получил от AutoIt Window Info:
>>>> Window <<<<
Title: iVMS-4200
Class: QWidget
Position: 1024, 122
Size: 1024, 768
Style: 0x96080000
ExStyle: 0x00000000
Handle: 0x0000000000061B3C
>>>> Control <<<<
Class: QWidget
Instance: 334
ClassnameNN: QWidget334
Name:
Advanced (Class): [CLASS:QWidget; INSTANCE:334]
ID:
Text: m_pFramePreViewCtrl
Position: 244, 682
Size: 536, 71
ControlClick Coords: 36, 29
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x0000000000071428
>>>> Mouse <<<<
Position: 1304, 833
Cursor ID: 0
Color: 0x171717
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
CAlarmEventClass
CMainViewClass
m_pStackedWidget
m_pPagePlayArea
m_pFramePlayArea
m_pFrameBottom
m_pDate
m_pFramePreViewCtrl
m_pFramePlayState
widgetGap
m_pFrameGroup
m_pGroupTree
qt_scrollarea_vcontainer
qt_scrollarea_viewport
pTopFrame
>>>> Hidden Text <<<<
CUiPlayerWndBottom
m_pPagePicture
m_pFrameSnapshot
m_pTimeSlider
qt_scrollarea_hcontainer
qt_rubberband
Title: iVMS-4200
Class: QWidget
Position: 1024, 122
Size: 1024, 768
Style: 0x96080000
ExStyle: 0x00000000
Handle: 0x0000000000061B3C
>>>> Control <<<<
Class: QWidget
Instance: 334
ClassnameNN: QWidget334
Name:
Advanced (Class): [CLASS:QWidget; INSTANCE:334]
ID:
Text: m_pFramePreViewCtrl
Position: 244, 682
Size: 536, 71
ControlClick Coords: 36, 29
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x0000000000071428
>>>> Mouse <<<<
Position: 1304, 833
Cursor ID: 0
Color: 0x171717
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
CAlarmEventClass
CMainViewClass
m_pStackedWidget
m_pPagePlayArea
m_pFramePlayArea
m_pFrameBottom
m_pDate
m_pFramePreViewCtrl
m_pFramePlayState
widgetGap
m_pFrameGroup
m_pGroupTree
qt_scrollarea_vcontainer
qt_scrollarea_viewport
pTopFrame
>>>> Hidden Text <<<<
CUiPlayerWndBottom
m_pPagePicture
m_pFrameSnapshot
m_pTimeSlider
qt_scrollarea_hcontainer
qt_rubberband
вот что выполнил по нелпу:
Код:
; Ожидание 5 секунд до появление окна
$hWnd = WinWait("[CLASS:QWidget]", "", 5)
If Not $hWnd Then
MsgBox(4096, 'Предупреждение', 'iVMS-4200 Client не загружен')
Exit
EndIf
; Делает активным окном.
WinActivate($hWnd)
If WinActive($hWnd) Then
MsgBox(4096, "", "Окно iVMS-4200 сейчас активно")
Else
MsgBox(4096, "", "Окно iVMS-4200 не активно")
EndIf
MouseClick("left",280,712,1)
осталось только найти и подставить правильные координаты в MouseClick