作者seoker (Seoker)
看板Programming
标题Fw: [问题] topmost 视窗於游戏画面闪动问题
时间Mon Apr 9 01:07:25 2012
※ [本文转录自 C_and_CPP 看板 #1FUjLT3H ]
作者: seoker (Seoker) 看板: C_and_CPP
标题: [问题] topmost 视窗於游戏画面闪动问题
时间: Tue Apr 3 18:47:55 2012
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
MFC/GDI+
问题(Question):
我有一个 Layered 的 dialog(不规则形状)
这个 dialog 可能会在某一事件触发後出现并且一直重画,
但不会设为 Foreground Window(所以也不会 ACTIVATE)
在一般状况都运作的很好,唯有全萤幕的游戏可能会出状况:
我的 dialog 会一直闪烁(可能因为一直重画的关系)
不知道各位有没有在玩游戏时跳出右下角的 msn 登入讯息
它闪动的情况就像那样...
不知道有没有办法可以解这问题呢 @@?
在不影响使用者正常游戏的情况下...(稍微盖住视窗不算XD)
喂入的资料(Input):
无
预期的正确结果(Expected Output):
不闪烁的 topmost 视窗
错误结果(Wrong Output):
视窗一直闪烁
程式码(Code):(请善用置底文网页, 记得排版)
无
补充说明(Supplement):
在一般的全萤幕视窗不会发生这问题
例如 IE、Media Player
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.63.100.2
1F:→ idicivik:改用重画有修改的部分就不会闪烁了 04/04 00:22
2F:→ seoker:我整个视窗都有修改的部分QQ 04/04 01:06
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: seoker (180.218.162.247), 时间: 04/09/2012 01:07:25
3F:→ azureblaze:IE和Media Player的全萤幕是假的 118.168.71.163 04/09 11:02
4F:→ azureblaze:他只是把视窗放大到跟萤幕一样大 118.168.71.163 04/09 11:03
5F:→ azureblaze:游戏 一定要去Hook他才有办法解决 118.168.71.163 04/09 11:03
7F:→ purpose:用全萤幕中,来决定要不要继续重画 124.8.137.121 04/09 18:34
8F:→ purpose:都已经全萤幕了,你dialog重画就没意义吧 124.8.137.121 04/09 18:34
9F:→ seoker:虽然他全萤幕,我视窗还是想出现耶 210.63.100.2 04/09 21:18
10F:→ seoker:为什麽重画没意义呢? 210.63.100.2 04/09 21:18
11F:→ seoker:去hook他是甚麽意思呢@@? 210.63.100.2 04/09 21:18
12F:→ purpose:喔,还是想出现,那我搞错了 124.8.137.121 04/09 21:21
13F:→ seoker:不过楼上提供的连结应该可以拿来用喔!180.218.162.247 04/09 21:55
14F:→ seoker:如果无法解决的话,就侦测是不是游戏180.218.162.247 04/09 21:55
15F:→ seoker:如果是的话,就不要出现180.218.162.247 04/09 21:55
16F:→ seoker:不过满想知道a大说的是什麽方法@@180.218.162.247 04/09 21:56
18F:推 EdisonX:p 大可以为hooking/debugging 开系列文了. 180.177.76.161 04/09 22:59
19F:推 purpose:真有什麽自以为的心得的话,会写的 124.8.137.121 04/09 23:08
20F:→ purpose:E 大的网站这麽多文章,是小弟学习的目标 124.8.137.121 04/09 23:08
21F:→ seoker:谢谢各位大大了,有空的话会研究个QQ180.218.162.247 04/10 00:48