如何获取腾讯通的会话窗口?[已解决]
本帖最后由 taxan 于 2014-3-7 12:47 编辑不知道标题准确不,我把问题具体说一下。
我想实现一个腾讯通的自动回复功能(系统自带的仅能回复个人会话,不能回复群会话或者组会话),我企图用快捷键激活腾讯通,如果有会话则弹出(像QQ一样,比如快捷键Ctrl+Alt+X),然后查看窗口信息,但是问题是,每次窗口的标题不一致(如果是组会话或者个人会话,则出现“RTX会话”关键字,但是如果是其他,则出现类似“销售群”、“售后群”,没有“RTX会话”关键字,如果没有会话,则弹出腾讯通主界面,像QQ一样,窗口标题是“QQ2013”),我要是用WinWaitActive也只能检测一个窗口,而且程序也暂停了,不能继续检测了。
不知道怎么样能检测所有窗口呢,或者是顶端的窗口。 本帖最后由 dearmb 于 2014-3-7 10:00 编辑
能检测什么class什么的吧,具体还没用过
窗口信息抓取工具那个能查到好像
就是给个提示,这样我还真没做过
级窗口描述
特定描述可以作为窗口标题匹配参数使用. 这种描述可以用来确定一个窗口,包含下列属性内容:
TITLE - 窗口标题
CLASS - 内部窗口类名
REGEXPTITLE -窗口标题使用 正则表达式 (如果正则表达式错误,将设置 @error?为 2)
REGEXPCLASS -窗口类名使用 正则表达式 (如果正则表达式错误,将设置 @error?为 2)
LAST - 上一次窗囗使用的 AutoIt 命令
ACTIVE - 当前活动窗口
X \ Y \ W \ H - 窗口的位置和大小
INSTANCE - 具备多个匹配属性时,默认以属性 1 为基础
一个窗口标题使用一或多个属性参数时的命令格式:
[属性1:值1; 属性2:值2]
注意 : 如果一个参数值包含分号,则必须使用双引号. 例:" ; " .
例如: 等候一个类名 " 笔记本" 的窗口
WinWaitActive("", "")
例如: 关闭当前工作窗囗
WinClose("", "")
例如: 等候具有二个属性的窗口: 窗口标题 "我的窗口" 和类名 "我的窗口类"
WinWaitActive("", "")
例如: 窗口列表匹配正则表达式定义的一个类名
WinList("") 谢谢指导,我已经差不多知道怎么弄了~$win_list = WinList("");这个#32770是从AutoIt v3 Window Info 查看的
;这个win_list包含所有腾讯通窗口及其主界面的窗口
If $win_list <> 0 Then
for $i = 1 to $win_list
If StringRight ( $win_list[$i], 6) ="RTX 会话" Then
MsgBox(0,"OK",$win_list[$i] ) ;该窗口的句柄
EndIf
Next
EndIf
看看可不可以
页:
[1]