关于在DirectX游戏全屏模式下弹出自己程序的窗体的问题

不得闲 2008-09-03 01:35:10
就是说在打游戏的过程中,弹出自己写的程序中的窗体,可以对该窗体进行操作(拖放,输入等),前提是游戏不能终止,游戏在窗体的下面显示并且继续更新着游戏画面。看过有人问过类似金山游侠的游戏弹出窗口,但是和那个有点不同的是,金山游侠把游戏停止了,停止了游戏画面的更新(我在魔兽争霸中测试过)。

看了以前的帖子,也有人提过关于这方面的问题!但是经过我测试好象都没有效果,有人用HOOK的,窗体是弹出来了,但是游戏界面和弹出来的窗口都似乎死掉了,不响应任何消息。而最进用DirectDraw,对于那种静止的画面,倒确实是可以随便拖放和输入,但是只要画面在更新变换成,弹出的窗体就被遮挡了,但是鼠标却还是可以显示成窗体上的鼠标的(测试都在魔兽争霸 冰封王座中进行)。

另附加一个问题:
喜欢上浩方的人,并且喜欢打魔兽的都应该知道现在的浩方的一个新特性吧!就是魔兽每打完一局,在下次开局的时候
就会在魔兽的界面上显示上一局的对战时间等记录!这个是如何实现的呢?我想应该有和上面那个问题类似的一些技术特性存在着吧!所以提一下!

期待各位大牛牛来帮我解答啊!感激不尽。(目前只能给到200分,搞定了再散吧!)
...全文
469 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
不得闲 2008-09-12
  • 打赏
  • 举报
回复
郁闷的把贴接了吧!也没找到答案,老板让暂时放下
yangkunjie 2008-09-09
  • 打赏
  • 举报
回复
没看完,帮顶
gyk120 2008-09-09
  • 打赏
  • 举报
回复
上网看了下,魔兽是可以通过OPENGL来运行的,但这不是默认的运行方式,要打开OPENGL还需要额外做些操作
不得闲 2008-09-09
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 gyk120 的回复:]
魔兽好像默认不是OpenGL的吧?
[/Quote]
不知道是不是,我看了一下魔兽中的导入函数库
没见到DirectX的动态库,到是有OPENGL的动态库被引入,所以就认为是OPENGL的了
gyk120 2008-09-09
  • 打赏
  • 举报
回复
魔兽好像默认不是OpenGL的吧?
不得闲 2008-09-09
  • 打赏
  • 举报
回复
唉!现在咋搞呢!莫非让此贴永远的下沉下去?
如果用Hook加覆盖模式不断的裁剪覆盖的话,倒是可以实现!但是要针对各种引擎!而且实现过程比较麻烦.
不得闲 2008-09-08
  • 打赏
  • 举报
回复
使用Hook成功进入了DirectDraw的内部函数!但是目前发现,DirectDraw只能针对2D平面游戏,而现在的游戏都基本上没有2D了
使用Hook实在复杂麻烦!魔兽是OpenGl的,其他好多都是D3D的。郁闷啊!再次等待高手来。
不得闲 2008-09-08
  • 打赏
  • 举报
回复
yumen
不得闲 2008-09-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gyk120 的回复:]
我是说外挂应该有相关的代码,以前玩的游戏外挂都是在游戏执行中运行的,也就是说网络游戏不会出现暂停等等现象,而且我似乎听人说过关于那个NB的魔兽作弊器的东西……关键是没人提供代码……甚至连软件本身都没看到过……
[/Quote]
我也没见过!
etomahawk 2008-09-03
  • 打赏
  • 举报
回复
mark一下。
tony5566 2008-09-03
  • 打赏
  • 举报
回复
帮忙顶
gyk120 2008-09-03
  • 打赏
  • 举报
回复
我是说外挂应该有相关的代码,以前玩的游戏外挂都是在游戏执行中运行的,也就是说网络游戏不会出现暂停等等现象,而且我似乎听人说过关于那个NB的魔兽作弊器的东西……关键是没人提供代码……甚至连软件本身都没看到过……
  • 打赏
  • 举报
回复
jf
liwuwu 2008-09-03
  • 打赏
  • 举报
回复
热情帮顶
iamduo 2008-09-03
  • 打赏
  • 举报
回复
这种是不是自己花一个Form在MainForm里啊?
不得闲 2008-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gyk120 的回复:]
我估计第二个问题没有太大的技术含量,应该就是用了一个计时器,打完了就把事件记录下来,然后用Direct重绘到窗体上?也有可能是自己建立了一个透明的窗口,只显示时间等因素,至于你的第一个问题,不知道为什么我总是会想到外挂……
外挂的代码可能有这方面的东西吧
[/Quote]

那和第一个类似啊 !
如果是透明窗体的话,想想,他那个窗体也是弹出在魔兽的窗体上面而没有影响游戏的性质.定时器方面,第一个问题,就用了定时器在那里不断的翻转原窗体的界面信息到direct的剪裁区域!但是对于魔兽这样画面不断刷新的,就不行,还是被覆盖下去了.

这个不是外挂,只是游戏当中需要的一个辅助工具
不得闲 2008-09-03
  • 打赏
  • 举报
回复
郁闷,找到一个代码,传奇的外挂代码,在某些情况下可以弹出,但是某些时候可以弹出!似乎不能通用啊!
郁闷,再次期待高手来
gwhdaxia 2008-09-03
  • 打赏
  • 举报
回复
全屏模式下估计比较难吧,
期待高手来解答下


关注一下
gyk120 2008-09-03
  • 打赏
  • 举报
回复
我估计第二个问题没有太大的技术含量,应该就是用了一个计时器,打完了就把事件记录下来,然后用Direct重绘到窗体上?也有可能是自己建立了一个透明的窗口,只显示时间等因素,至于你的第一个问题,不知道为什么我总是会想到外挂……
外挂的代码可能有这方面的东西吧
不得闲 2008-09-03
  • 打赏
  • 举报
回复
大家都来嘛!拜请高手出招!
加载更多回复(2)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧