找回密码
 加入
搜索
查看: 1970|回复: 6

[AU3基础] 请问:如何取得某个软件现在处于那个标签(Tab)上?

[复制链接]
发表于 2012-8-5 08:35:42 | 显示全部楼层 |阅读模式
比如程序A(可能是用au3写的,也可能是别的语言写的)有T1,T2,T3三个tab,现在想用au3写个脚本B,来取得A处于T1还是T2或者是T3的那个界面上,该如何做?


昨晚在Q群上问无果,现在到这里一问!
发表于 2012-8-5 09:40:32 | 显示全部楼层
估计得     WinGetText   了
发表于 2012-8-5 09:49:46 | 显示全部楼层
试过 AutoIt写的貌似不行

如果 窗口信息工具 能抓到 控件id 的话
ControlCommand 函数可以
发送 "CurrentTab"
返回在 SysTabControl32 控件中当前显示的标签编号(从1开始,1代表左边第一个).
 楼主| 发表于 2012-8-5 10:03:01 | 显示全部楼层
本帖最后由 vace 于 2012-8-5 10:04 编辑
试过 AutoIt写的貌似不行

如果 窗口信息工具 能抓到 控件id 的话
ControlCommand 函数可以
发送 "Cur ...
veket_linux 发表于 2012-8-5 09:49



    就是得不到控件句柄呀,如下面的代码(假设A程序是用au3写的)

#include <GuiTab.au3>

$hTab = ControlGetHandle('[CLASS:AutoIt v3 GUI]','','[CLASS:SysTabControl32; INSTANCE:1]')
MsgBox(0,0,$hTab)
$i = _GUICtrlTab_GetCurSel($hTab) 
MsgBox(0,0,$i)




结果$hTab的值为空呀
 楼主| 发表于 2012-8-5 10:20:50 | 显示全部楼层
或者能不能判断当前焦点在那个控件上?好象现在的函数ControlGetFocus只能得到键盘输入焦点,比如如何判断现在焦点在Listview控件上(也就是如按上下箭头键可以在Listview的Item上移动)?
发表于 2012-8-5 11:37:21 | 显示全部楼层
ControlGetFocus 得到的控件ID

"[CLASS:xxxx; INSTANCE:xxx]"

和窗口信息工具抓到的类名对比一下
发表于 2012-8-5 17:16:14 | 显示全部楼层
程序A有三个TAB,问:A在哪个TAB上?
果断湿了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 11:55 , Processed in 0.095708 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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