ssmc 发表于 2011-11-19 00:43:05

新人求助 关于QQ聊天窗口!

如何激活现在打开的QQ聊天窗口呢。

比如我用 WinActivate("XXX", "")   其中XXX是对方QQ名字(或者备注)但是如果我不知道聊天窗口名字就不能激活出来了。怎么办呢!

魔导 发表于 2011-11-19 01:42:21

用这个就知道了{:1_498:}

魔导 发表于 2011-11-19 01:42:54

{:1_498:}把标题复制就OK

user3000 发表于 2011-11-19 02:12:00

枚举窗口, 再判断进程ID是否属于QQ, 这样就能激活任何的QQ聊天窗口了。
可是,楼主的用意是什么?

微笑炸弹 发表于 2011-11-19 09:15:25

这个还真没有试过哦

xiehuahere 发表于 2011-11-19 14:10:06

4楼正解!
以下代码供参考:$QQPID = WinGetProcess("")
If $QQPID = -1 Then
        MsgBox(4096, "Warning", "Check if QQ is running!")
        Exit
EndIf

$var = WinList()
For $i = 1 to $var
        ; Only display visble windows that have a title
        If $var[$i] <> "" And IsVisible($var[$i]) Then
                If WinGetProcess($var[$i]) = $QQPID Then
                        WinActivate($var[$i])
                        ExitLoop
                EndIf
        EndIf
Next

Func IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
      Return 1
    Else
      Return 0
    EndIf
EndFunc   ;==>IsVisible

xms77 发表于 2011-11-19 20:48:36

回复 4# user3000
good idea

miosec 发表于 2011-11-19 20:58:19

c++中好像也有这个工具。

ssmc 发表于 2011-11-20 01:18:38

6楼大大厉害啊!

可以找到一个QQ聊天窗口哦,如果是多开聊天窗口呢。

ssmc 发表于 2011-11-20 01:21:19

噢,可以啦 谢谢6楼大大

把ExitLoop注释掉就能所有窗口找到了!

qq82015930 发表于 2011-11-24 18:06:34

呵呵,这个好安逸的哈.

xlj310 发表于 2011-11-26 09:38:34

评论很强大,呵呵 

kevinch 发表于 2011-11-26 11:05:00

6楼代码果然强大,佩服
页: [1]
查看完整版本: 新人求助 关于QQ聊天窗口!