首页
社区
课程
招聘
[旧帖] 如何解决窗口激活问题(大神来对于你们很简单) 0.00雪花
发表于: 2011-11-19 18:26 6159

[旧帖] 如何解决窗口激活问题(大神来对于你们很简单) 0.00雪花

2011-11-19 18:26
6159
我的意识是某软件检测窗口是否本窗口激活,检测窗口是否活动中。

怎么让他的检测失效,OD如何下断,或者有什么的方法。

如果软件的窗口未激活,我写的软件无法外部操作他,必须把这个过掉,但是找补到!

求大牛 大大牛 帮忙 对于你们很简单

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
发上来看!!!!!!!!!!!!!
2011-11-20 20:43
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
3
使用 FindWindow 就可以找到窗口了。
2011-11-20 20:48
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
用VC++的SPY++
2011-11-20 20:54
0
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
大话西游2 是游戏的限制! 所以不方便说出来
2011-11-21 22:00
0
雪    币: 43
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
用这个行么:  GetForegroundWindow 用来获取现在在前台的窗口
2011-12-5 23:53
0
雪    币: 188
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
把你的软件设计成带有窗口的,并且成为那个程序的字窗口
然后应该就好办了吧
2011-12-6 15:53
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没太看懂你的需求,但是我想你可能要解决的问题有:
1、查找窗口可以直接FindWindow,或者给窗口添加一个唯一标识,再通过枚举所有窗口来找到它。
2、查看窗口是否激活,可以GetWindowLong得到窗口的属性,再看它是否现在得到拉焦点
2011-12-6 22:33
0
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
iswindowenabled这个函数可以判断一个窗口是否激活,hook该函数自然能使检测失效
如果你只是不想接收外部程序发来的某些消息,在自己的消息循环里不处理之即可
2011-12-11 09:51
0
雪    币: 2210
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
用FindWindow(NULL,"窗体名");
来获取窗口句柄,如果为空的话,就没有这个窗口喽~
2011-12-11 10:42
0
雪    币: 2210
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
判断是否激活的话,
用我上面的找窗体句柄的方法,再判断该窗体是否为最顶层就可以了(具体是哪个函数一查就查到了)
一般程序都是顶层时为活动状态。失去焦点时,会自动暂停。但有的也不是这样的
2011-12-11 10:55
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
虽然不懂,但从楼上的几位回答中收获新东西了。
2011-12-12 13:30
0
游客
登录 | 注册 方可回帖
返回
//