找回密码
 加入
搜索
查看: 5953|回复: 3

[系统综合] 如何获取腾讯通的会话窗口?[已解决]

[复制链接]
发表于 2014-3-7 09:31:01 | 显示全部楼层 |阅读模式
本帖最后由 taxan 于 2014-3-7 12:47 编辑

不知道标题准确不,我把问题具体说一下。
我想实现一个腾讯通的自动回复功能(系统自带的仅能回复个人会话,不能回复群会话或者组会话),我企图用快捷键激活腾讯通,如果有会话则弹出(像QQ一样,比如快捷键Ctrl+Alt+X),然后查看窗口信息,但是问题是,每次窗口的标题不一致(如果是组会话或者个人会话,则出现“RTX会话”关键字,但是如果是其他,则出现类似“销售群”、“售后群”,没有“RTX会话”关键字,如果没有会话,则弹出腾讯通主界面,像QQ一样,窗口标题是“QQ2013”),我要是用WinWaitActive也只能检测一个窗口,而且程序也暂停了,不能继续检测了。
不知道怎么样能检测所有窗口呢,或者是顶端的窗口。
发表于 2014-3-7 09:58:55 | 显示全部楼层
本帖最后由 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("[CLASS:笔记本]", "")



例如: 关闭当前工作窗囗

WinClose("[ACTIVE]", "")



例如: 等候具有二个属性的窗口: 窗口标题 "我的窗口" 和类名 "我的窗口类"

WinWaitActive("[TITLE:我的窗口; CLASS:我的窗口类; INSTANCE:2]", "")



例如: 窗口列表匹配正则表达式定义的一个类名

WinList("[REGEXPCLASS:#\d+]")
 楼主| 发表于 2014-3-7 12:46:35 | 显示全部楼层
谢谢指导,我已经差不多知道怎么弄了~
$win_list = WinList("[REGEXPCLASS:#32770]");这个#32770是从AutoIt v3 Window Info 查看的
  ;这个win_list包含所有腾讯通窗口及其主界面的窗口
If $win_list[0][0] <> 0 Then
   for $i = 1 to $win_list[0][0]
          If StringRight ( $win_list[$i][0], 6) ="RTX 会话" Then
                 MsgBox(0,"OK",$win_list[$i][1] ) ;该窗口的句柄
          EndIf
   Next
EndIf
发表于 2014-8-14 23:13:51 | 显示全部楼层
看看可不可以
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:59 , Processed in 0.084608 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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