aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 17259|回复: 13

怎样激活QQ窗口?

[复制链接]

20

主题

49

回帖

476

积分

二级会员

积分
476
发表于 2013-6-21 17:26:24 | 显示全部楼层 |阅读模式
hwnd = winex.findActivate( "QQ\d+",,"TXGuiFoundation", )


这个一点反应都没有?

20

主题

49

回帖

476

积分

二级会员

积分
476
 楼主| 发表于 2013-6-21 17:32:54 | 显示全部楼层
按键指令生成器 录制的指令也没用

3

主题

18

回帖

184

积分

一级会员

积分
184
发表于 2013-6-21 17:49:49 | 显示全部楼层
var loghwnd = winex.find("^TXGuiFoundation$", "^QQ201\d$");
var qqhwnd,控件句柄,线程ID,进程ID  = winex.waitActive( loghwnd );

20

主题

49

回帖

476

积分

二级会员

积分
476
 楼主| 发表于 2013-6-21 17:59:51 | 显示全部楼层
ctzl 发表于 2013-6-21 17:49
var loghwnd = winex.find("^TXGuiFoundation$", "^QQ201\d$");
var qqhwnd,控件句柄,线程ID,进程ID  = wi ...

好像还不行哦,没动作

20

主题

49

回帖

476

积分

二级会员

积分
476
 楼主| 发表于 2013-6-21 18:08:04 | 显示全部楼层
到底是哪里的问题

20

主题

49

回帖

476

积分

二级会员

积分
476
 楼主| 发表于 2013-6-21 18:14:05 | 显示全部楼层
赜氏 发表于 2013-6-21 18:08
到底是哪里的问题

import winex;
import process;
import fsys.lnk;

var exepath = "D:\Program Files\Tencent\QQ\bin\QQ.exe";
var setpath = fsys.lnk.search( "QQ\.exe" )
if( setpath){
        exepath = setpath;
}

if( ! process.find(exepath) )
        process.execute(exepath)
               
//等待指定的窗口
窗口句柄, ,线程ID,进程ID = winex.wait( "QQ\d+",,"TXGuiFoundation", )

//查找指定的窗口
窗口句柄, ,线程ID,进程ID = winex.findExists( "QQ\d+",,"TXGuiFoundation", )

//查找指定的窗口并激活
窗口句柄, ,线程ID,进程ID = winex.findActivate( "QQ\d+",,"TXGuiFoundation", )

//等待指定的窗口打开到激活状态
窗口句柄, ,线程ID,进程ID = winex.waitActive( "QQ\d+",,"TXGuiFoundation", )

//查找指定的主窗口
窗口句柄,线程ID,进程ID = winex.find("TXGuiFoundation","QQ\d+" )

//关闭窗口
winex.close(窗口句柄)

//退出窗口程序
winex.quit(窗口句柄)

//修改标题
winex.setText(窗口句柄,"我是新的标题");

//最小化
win.show(窗口句柄,0x6/*_SW_MINIMIZE*/)

//调用API闪烁窗口
FlashWindow = ::User32.api("FlashWindow", "int(int hwndTarget, int bInvert)")
FlashWindow(窗口句柄, 0);

9

主题

444

回帖

2546

积分

版主

积分
2546
发表于 2013-6-21 18:48:50 | 显示全部楼层
QQ里有很多类似这样的窗口,都是相同的类名,你都没有找到窗口激活什么。
不要说什么录制的没有用,录一下并且百分百的好用,那还要写什么程序,都去录好了。

16

主题

84

回帖

662

积分

三级会员

积分
662
发表于 2013-8-28 11:25:34 | 显示全部楼层
win.setForeground(hwnd)

9

主题

444

回帖

2546

积分

版主

积分
2546
发表于 2013-8-28 11:45:58 | 显示全部楼层
win7上已经不允许激活了,只是在任务栏闪烁。
不过可以变通下,用 win.showForeground() 可以将窗体显示在最前面(不会夺取输入焦点),然后再模拟鼠标点击一下就可以。

不过应当尽可能不要滥用,大家随便往前弹是比较乱的,微软也是因为这个原因禁用了这功能。

15

主题

113

回帖

922

积分

三级会员

积分
922
发表于 2013-8-28 11:59:04 | 显示全部楼层
其实,一行代码看不出什么问题的,你应当把大部分代码帖出来,别人才好测试!
最近我有个程序,从逻辑编程角度看没什么错误,结果运行时,条件真或假都显示同一个结果,后来加了一句代码"win.delay(20)",结果就不一样了,达到了控制要求;
在这个程序中,我得到了一条经验,眼看为虚,程序会看才实。

0

主题

3

回帖

27

积分

新手入门

积分
27
发表于 2013-8-30 23:17:20 | 显示全部楼层
QQ界面弹出好像在自动控制编程不是很好控制,一直都存在这个问题

0

主题

1

回帖

62

积分

一级会员

积分
62
发表于 2013-11-15 23:13:34 | 显示全部楼层
import winex;
import key;

//查找并激活QQ聊天窗口
hwnd = winex.findActivate("^[^TQ][^XQ].+",null,"TXGuiFoundation");

//循环发送聊天内容
for(i=1;10;1){
    winex.say("亲爱的,我在测试软件。请不要惊讶",hwnd)  
    key.combine("CTRL","ENTER")
    key.press( "ENTER" )
    win.delay(1000)
}

2

主题

2

回帖

32

积分

新手入门

积分
32
QQ
发表于 2014-3-28 21:55:15 | 显示全部楼层
成功了么???代码多少

0

主题

15

回帖

101

积分

一级会员

积分
101
QQ
发表于 2017-12-24 22:05:24 | 显示全部楼层
win7上已经不允许激活了,只是在任务栏闪烁。这是真的吗?
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-4-15 04:36 , Processed in 0.058525 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

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