Что нового

[Автоматизация] Не корректно работает _GUICtrlTreeView_SetChecked.

DMFox

Новичок
Сообщения
8
Репутация
0
Автоматизирую установку Winamp`a. В ней нужно снять "галочки" некоторых чекбоксов для этого использую _GUICtrlTreeView_SetChecked.
Визуально все работает хорошо галочки снимаются, НО только визуально, т.е. галочка показывается "снятой", но в действительности она не "снята" действие привязанное с неё все равно выполняется. Как это исправить?

Пример кода который использую:
Код:
$hWnd = WinGetHandle('Установщик проигрывателя Winamp')
$hList = ControlGetHandle($hWnd, '', '[CLASS:SysTreeView32; INSTANCE:1]')
$hItem = _GUICtrlTreeView_FindItem($hList, 'Агент проигрывателя Winamp')
_GUICtrlTreeView_SetChecked($hList, $hItem, False)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Это особенность инсталлятора, который фиксирует изменение состояния элемента. Как бороться? Используйте эмуляцию нажатия, например _GUICtrlListView_ClickItem().
 
Автор
D

DMFox

Новичок
Сообщения
8
Репутация
0
Большое спасибо, помогло!

Рабочий код, если кому надо:
Код:
$hWnd = WinGetHandle('Установщик проигрывателя Winamp')
$hList = ControlGetHandle($hWnd, '', '[CLASS:SysTreeView32; INSTANCE:1]')
$hItem = _GUICtrlTreeView_FindItem($hList, 'Агент проигрывателя Winamp')
_GUICtrlTreeView_ClickItem($hList,$hItem)
 
Верх