如何获取TreeViewItem的id[已解决]
本帖最后由 haijie1223 于 2012-2-15 15:31 编辑原来写了个软件自动安装脚本,用到命令:
ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X 坐标 [, Y 坐标]]]] )
这个命令中的"控件id"可以通过scite中按Ctrl+F6运行“AU3窗口信息工具”来进行检测。
但是在treeview控件中,可能会有很多个treeviewitem。这个时候,如果想获取每个item节点的id时,“窗口信息检测工具”却只能检测到整个treeview的id,每个item的id检测不到。
不知道是否也有人遇到和我一样的疑问,请指点一下。 看看 ControlTreeView() 有没有你需要的操作。 回复 2# afan
试过不可行 回复 3# haijie1223
这么肯定?而且你连关键的操作什么都没提出 回复 4# afan
我在论坛有搜索过,也看到过针对这个问题的帖子,也是用的这个命令。但是我都有按照之前的帖子试过。都没有返回值。
下面这个是我用nsis打包的一个浏览器,afan版你试下能获取到么。
http://115.com/file/e6dstx3x#
世界之窗2.4.1.8增强版(1).rar
两个插件选项默认是选中的,如何获取他们的id,可以自如的选中或取消选择呢。 http://www.autoitx.com/forum.php?mod=viewthread&tid=17762 本帖最后由 haijie1223 于 2012-2-15 13:55 编辑
回复 7# afan
Opt("WinTitleMatchMode",2)
Local $hTreeview
WinActivate("The")
$hTreeview = ControlGetHandle("The", '','SysTreeView321')
ControlTreeView ("The", "", $hTreeview, "uncheck", "屏幕截图插件")
ControlTreeView ("The", "", $hTreeview, "uncheck", "网站信息插件")
a版,看看我的这个代码。因为默认是选中的,所以我发送的命令去是取消选中状态的。现在出现的问题是能在两个插件的选项上移动,但是前面的checkbox里面的勾号并不能取消选择。
请afan测试一下。 这个只能用我贴出的链接模拟鼠标点击 我是移动窗口0,0
然后鼠标点击的mouseclick 我只能做到这样了(2种不是办法的办法 鼠标移动的 就算了)看看别人的吧
Run(@ScriptDir & "\世界之窗2.4.1.8增强版.exe")
WinWaitActive("The World 2.4.1.8 安装", "此向导将引导你完成 世界之窗浏览器的安装进程")
WinActivate("The World 2.4.1.8 安装", "此向导将引导你完成 世界之窗浏览器的安装进程")
ControlClick("The World 2.4.1.8 安装", "此向导将引导你完成 世界之窗浏览器的安装进程", "Button2")
WinWaitActive("The World 2.4.1.8 安装", "选择你想要安装“The World 2.4.1.8”的那些功能")
WinActivate("The World 2.4.1.8 安装", "选择你想要安装“The World 2.4.1.8”的那些功能")
;~ Send("{DOWN}")
;~ Send("{SPACE}")
;~ Send("{DOWN}")
;~ Send("{SPACE}")
$hTreeview = ControlGetHandle("The World 2.4.1.8 安装", "选择你想要安装“The World 2.4.1.8”的那些功能", 'SysTreeView321')
ControlTreeView("The World 2.4.1.8 安装", "选择你想要安装“The World 2.4.1.8”的那些功能", $hTreeview, "Select", "#01")
Send("{SPACE}")
ControlTreeView("The World 2.4.1.8 安装", "选择你想要安装“The World 2.4.1.8”的那些功能", $hTreeview, "Select", "#02")
Send("{SPACE}")
;~ ControlClick("The World 2.4.1.8 安装","选择你想要安装“The World 2.4.1.8”的那些功能","Button2")
页:
[1]