如何使用AutoIt扩展树视图

时间:2016-09-30 07:51:16

标签: autoit

用户界面如下: enter image description here

工具" AutoIt窗口信息"只能找到红色的元素(红色矩形区域),无法定位子项目。 那么我该如何扩展或操作这些项目呢?

2 个答案:

答案 0 :(得分:1)

通常也可以使用击键来访问Windows控件。

在屏幕转储中,选择了Farmtt元素。那将是你的起点。

您可以尝试:

  • 发送(" {DOWN}")向下移动元素。
  • 发送(" {TAB}")导航到下一个控件(按钮,复选框等)
  • 发送(" {NumPadMult}")以递归方式展开SysTreeView32中的文件夹。
  • 发送(" {ENTER}")主键盘上的ENTER键

参考:
https://www.autoitscript.com/autoit3/docs/appendix/SendKeys.htm

答案 1 :(得分:0)

这里有两件事: 1)使用以下代码段:

;Gets the handle for the text
Func readFirstlevelTreeNodes($hWndCtrl)
   Local $firstItemHandle = _GUICtrlTreeView_GetFirstItem ($hWndCtrl)
   Local $iCount = _GUICtrlTreeView_GetSiblingCount( $hWndCtrl, $firstItemHandle )
   Dim $aRet[$iCount]
   $aRet[0] = $firstItemHandle
   For $index = 1 To $iCount - 1
      $aRet[$index] = _GUICtrlTreeView_GetNextSibling ( $hWndCtrl, $firstItemHandle )
      $firstItemHandle = $aRet[$index]
   Next

   getTreeNodeTextList($hWndCtrl,$aRet)
EndFunc

; Gets the text for given sibling node handle lists
Func getTreeNodeTextList($hWndCtrl,$aRet)
   ConsoleWrite("Tree Node first level list"&@CRLF)
   For $index = 0 To Ubound($aRet) -1
      ConsoleWrite(_GUICtrlTreeView_GetText ( $hWndCtrl, $aRet[$index] )&@CRLF)
   Next
EndFunc

您可能会看到第一级树节点的输出。

2)如果您仍然没有看到输出,请验证控制手柄值和窗口句柄。如果它们是正确的并且它仍然没有显示第一级树节点,那么尝试以管理员身份运行sciTE编辑器。

我认为这应该会有所帮助。