找回密码
 加入
搜索
查看: 4673|回复: 10

[系统综合] 如何获取TreeViewItem的id[已解决]

  [复制链接]
发表于 2012-2-14 22:55:32 | 显示全部楼层 |阅读模式
本帖最后由 haijie1223 于 2012-2-15 15:31 编辑

原来写了个软件自动安装脚本,用到命令:
ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X 坐标 [, Y 坐标]]]] )
这个命令中的"控件id"可以通过scite中按Ctrl+F6运行“AU3窗口信息工具”来进行检测。
但是在treeview控件中,可能会有很多个treeviewitem。这个时候,如果想获取每个item节点的id时,“窗口信息检测工具”却只能检测到整个treeview的id,每个item的id检测不到。

不知道是否也有人遇到和我一样的疑问,请指点一下。
发表于 2012-2-15 12:28:11 | 显示全部楼层
看看 ControlTreeView() 有没有你需要的操作。
 楼主| 发表于 2012-2-15 12:30:45 | 显示全部楼层
回复 2# afan


    试过  不可行
发表于 2012-2-15 12:33:01 | 显示全部楼层
回复 3# haijie1223


    这么肯定?而且你连关键的操作什么都没提出
 楼主| 发表于 2012-2-15 12:38:08 | 显示全部楼层
回复 4# afan


    我在论坛有搜索过,也看到过针对这个问题的帖子,也是用的这个命令。但是我都有按照之前的帖子试过。都没有返回值。
下面这个是我用nsis打包的一个浏览器,afan版你试下能获取到么。
http://115.com/file/e6dstx3x#
世界之窗2.4.1.8增强版(1).rar
 楼主| 发表于 2012-2-15 12:41:14 | 显示全部楼层

两个插件选项默认是选中的,如何获取他们的id,可以自如的选中或取消选择呢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-2-15 12:56:08 | 显示全部楼层
 楼主| 发表于 2012-2-15 13:15:52 | 显示全部楼层
本帖最后由 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测试一下。
发表于 2012-2-15 13:32:07 | 显示全部楼层
这个只能用我贴出的链接模拟鼠标点击
发表于 2012-2-15 14:27:57 | 显示全部楼层
我是移动窗口0,0
然后鼠标点击的mouseclick
发表于 2012-2-16 10:12:11 | 显示全部楼层
我只能做到这样了(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金钱 +30 贡献 +2 收起 理由
afan + 30 + 2 居然可以 Send("{SPACE}")

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-1 07:41 , Processed in 0.080415 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表