Arbios
Новичок
- Сообщения
- 18
- Репутация
- 0
Долго пытался найти ответ сам, но так и не нашел :stars:
Пытаюсь автоматизировать специализированную программу написанную на C++, сама прога громоздкая и прикрепить не получится.
В программе есть небольшое меню, определяется как SysTreeView32, пытаюсь определить ID нодов, ни в какую не получается, самое обидное, что даже если найду, не понимаю как произвести клик по ID нода. И вообще не могу понять, каким образом объяснить скрипту, что нужно найти "Form1", там поискать "SysTreeView32" и там уже кликнуть по "Node1" используя _GUICtrlTreeView_ClickItem.
Все что требуется, это сделать клик по этому пункту, варианты с кликом по позиции или PixelSearch не подходят.
Все вопросы сводятся к тому:
1) Как найти ID элемента в дереве?
2) И как по нему кликнуть.
Очень прошу не отсылать в левую тему, потому, что наверняка я её уже видел и ничего не понял :'(
В этой теме http://autoit-script.ru/index.php?topic=12024.0 почти ответили на мой вопрос, но там в тот же _GUICtrlTreeView_ClickItem передается информация об созданном в этом же скрипте окне, а мне нужно окно другой программы.
Нашел решение :IL_AutoIt_1::
Пытаюсь автоматизировать специализированную программу написанную на C++, сама прога громоздкая и прикрепить не получится.
В программе есть небольшое меню, определяется как SysTreeView32, пытаюсь определить ID нодов, ни в какую не получается, самое обидное, что даже если найду, не понимаю как произвести клик по ID нода. И вообще не могу понять, каким образом объяснить скрипту, что нужно найти "Form1", там поискать "SysTreeView32" и там уже кликнуть по "Node1" используя _GUICtrlTreeView_ClickItem.
Все что требуется, это сделать клик по этому пункту, варианты с кликом по позиции или PixelSearch не подходят.
Все вопросы сводятся к тому:
1) Как найти ID элемента в дереве?
2) И как по нему кликнуть.
Очень прошу не отсылать в левую тему, потому, что наверняка я её уже видел и ничего не понял :'(
В этой теме http://autoit-script.ru/index.php?topic=12024.0 почти ответили на мой вопрос, но там в тот же _GUICtrlTreeView_ClickItem передается информация об созданном в этом же скрипте окне, а мне нужно окно другой программы.
Нашел решение :IL_AutoIt_1::
Код:
#include <GuiTreeView.au3>
$WinTitle= "Заголовок окна"
WinActivate($WinTitle)
$myTreeViewhDTCtrl = ControlGetHandle($WinTitle, "", "SysTreeView321")
$myItem = _GUICtrlTreeView_FindItem($myTreeView, "Искомый пункт", False)
_GUICtrlTreeView_ClickItem ($myTreeView, $myItem, "left", True)