vace 发表于 2012-8-5 08:35:42

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

比如程序A(可能是用au3写的,也可能是别的语言写的)有T1,T2,T3三个tab,现在想用au3写个脚本B,来取得A处于T1还是T2或者是T3的那个界面上,该如何做?


昨晚在Q群上问无果,现在到这里一问!

veket_linux 发表于 2012-8-5 09:40:32

估计得   WinGetText   了

veket_linux 发表于 2012-8-5 09:49:46

试过 AutoIt写的貌似不行

如果 窗口信息工具 能抓到 控件id 的话
ControlCommand 函数可以
发送 "CurrentTab"
返回在 SysTabControl32 控件中当前显示的标签编号(从1开始,1代表左边第一个).

vace 发表于 2012-8-5 10:03:01

本帖最后由 vace 于 2012-8-5 10:04 编辑

试过 AutoIt写的貌似不行

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


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

#include <GuiTab.au3>

$hTab = ControlGetHandle('','','')
MsgBox(0,0,$hTab)
$i = _GUICtrlTab_GetCurSel($hTab)
MsgBox(0,0,$i)




结果$hTab的值为空呀

vace 发表于 2012-8-5 10:20:50

或者能不能判断当前焦点在那个控件上?好象现在的函数ControlGetFocus只能得到键盘输入焦点,比如如何判断现在焦点在Listview控件上(也就是如按上下箭头键可以在Listview的Item上移动)?

veket_linux 发表于 2012-8-5 11:37:21

ControlGetFocus 得到的控件ID

""

和窗口信息工具抓到的类名对比一下

502762378 发表于 2012-8-5 17:16:14

程序A有三个TAB,问:A在哪个TAB上?
果断湿了
页: [1]
查看完整版本: 请问:如何取得某个软件现在处于那个标签(Tab)上?