【发布时间】:2016-09-30 07:51:15
【问题描述】:
【问题讨论】:
-
如果是普通的TreeView32控件可以使用ControlTreeView函数。由于您的控件类是 SysTreeView32,它应该很可能工作......
标签: autoit
【问题讨论】:
标签: autoit
通常也可以使用击键访问 Windows 控件。
在屏幕转储中选择了 Farmtt 元素。这将是您的起点。
你可以试试:
等等
参考:
https://www.autoitscript.com/autoit3/docs/appendix/SendKeys.htm
【讨论】:
这里有两件事: 1)使用如下代码sn-p:
;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 编辑器。
我认为这应该会有所帮助。
【讨论】: