搜索树并选择项目

时间:2013-06-17 07:36:32

标签: autoit

您知道如何扫描树并选择项目吗?例如是自动帮助文件。我展开了所有树,接下来要做的就是扫描名称中带有“历史记录”的项目。如果为true,则必须选择它并休眠5秒并继续选择它找到的下一个项目,直到结束循环。

Global $hWnd = ControlGetHandle("[CLASS:HH Parent;TITLE:AutoIt Help]", "", "[CLASS:SysTreeView32; INSTANCE:1]")

$hItemFound = _GUICtrlTreeView_FindItem($hWnd, "History",True)

_GUICtrlTreeView_SelectItem($hWnd, $hItemFound)

1 个答案:

答案 0 :(得分:0)

就这么简单:

#include <GuiTreeView.au3>

Global $hWnd = ControlGetHandle("[CLASS:HH Parent;TITLE:AutoIt Help]", _
                                "", "[CLASS:SysTreeView32; INSTANCE:1]")

$searchText = "History"
$hItemFound = _GUICtrlTreeView_FindItem($hWnd, $searchText, True)
While $hItemFound
   _GUICtrlTreeView_SelectItem($hWnd, $hItemFound)
   $next = _GUICtrlTreeView_GetNextVisible($hWnd, $hItemFound)
   $hItemFound = _GUICtrlTreeView_FindItem($hWnd, $searchText, True, $next)
   Sleep(5000)
WEnd

顺便说一下,您可以使用_GUICtrlTreeView_GetNext(...)代替搜索可见的下一个条目,但也可以搜索可能已折叠的条目。 ..._FindItem无论如何都会搜索折叠的商品。

除了_GUICtrlTreeView_ClickItem(...)之外,你可能还希望使用_GUICtrlTreeView_SelectItem(...)来获得对选择执行的正确操作。