社区
游戏开发
帖子详情
在DIRECTX中 怎样获得 PRIMARYSURFACE(独占模式)。 1000分!!!!!
one_add_one
2002-07-28 04:18:37
rt
...全文
254
52
打赏
收藏
在DIRECTX中 怎样获得 PRIMARYSURFACE(独占模式)。 1000分!!!!!
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
52 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kidding
2002-09-15
打赏
举报
回复
不要再进行不可能的工作了!
one_add_one
2002-09-10
打赏
举报
回复
听得一头雾水
Analyst
2002-09-05
打赏
举报
回复
因为ddraw是个COM对象,调用CreateSurface是通过vtable的,所以要hook的话应该不是很难,不过我没做过,这里提个方案你自己去试试看吧。
首先在游戏进程创建的时候把你的DLL注入到该进程中去,创建个ddraw对象,得到ddraw对象的vtable,把CreateSurface的入口地址改成你的函数就OK了。另外可能你得到的PrimarySurface和游戏的PrimarySurface不在同一个线程里,所以你要注意线程同步的问题,可能需要手工处理列集。
one_add_one
2002-09-04
打赏
举报
回复
to Analyst()
能说说:Hook CreateSurface的用法吗?
Analyst
2002-09-03
打赏
举报
回复
试试用
ddraw->SetCooperativeLevel(hwnd, DDSCL_NORMAL);
因该就能在独占模式的游戏里创建出primarySurface了。
不过如果你要在别的游戏中截屏的话,最好是Hook CreateSurface这个函数,这样PrimarySurface就能很容易的得到了。
monkey79
2002-09-02
打赏
举报
回复
俺不懂!
帮你UP!!!
one_add_one
2002-09-01
打赏
举报
回复
up
one_add_one
2002-08-29
打赏
举报
回复
up
jink
2002-08-27
打赏
举报
回复
楼主这贴分发不光就给点我,我也是混分的
kidding
2002-08-27
打赏
举报
回复
看来要截图还只能用DC(不过应该是游戏窗口的DC)
kidding
2002-08-27
打赏
举报
回复
你是想获得另外一个DirectX程序的主表面。
目前,据我所知,还没有解决方法。IDirectDraw接口中并没有
GetPrimarySurface之类的函数
phonix497
2002-08-27
打赏
举报
回复
哦,我是混分的
IO_X
2002-08-27
打赏
举报
回复
用GetDesktopWindow
再GetDC也可以截取DirectX的屏幕
我试过
one_add_one
2002-08-27
打赏
举报
回复
up
one_add_one
2002-08-25
打赏
举报
回复
我要做的是“获取别的程序的独占模式下的主表面”
就像HyperSnap一样能截DirectX的屏.
我只想截屏幕的一小部分,如果不获得主表面,就不知道怎么做了,所以我想获得主表面.
Sn_Yugo
2002-08-22
打赏
举报
回复
说实话到最后我都不明白楼主是要做什么?
创建一个DDRAW独占模式的程序?
还是获取别的程序的独占模式下的主表面?
starshx
2002-08-22
打赏
举报
回复
其实在这里还是要强调一下,所谓独占模式是就应用程序之间对于操作系统的关系来定义的,所以不要想成一个有独占模式的平面。
windows里的消息纷繁复杂,跳来跳去,游戏大多以效率优先,DirectX自然提供函数支持游戏程序对系统资源(CPU,系统内存,显存)的独占。
lpdd4->SetCooperativeLevel(main_window_handle,DDSCL_FULLSCREEN|DDSCL_EXCLUSIVE)
这句就是了:)
事实上上面的程序已经完成了所有除了创建主表面的工作,而且我从楼主的问题里感觉到难点是在独占,而非主表面之创建。代码已经到了这样的地步,主表面的创建只是九牛一毛了。
这是别人的程序是别人的,还是有很多的问题。:)不过,就是能解决楼主的问题。
starshx
2002-08-22
打赏
举报
回复
one_add_one()快给分给分_L2002:)
你的信箱呢?我发给你。
还有finalvictory(维克) ,等你对DirectX有点了解了在来质问。什么叫做“几个DDraw程序一块工作岂不是要天下大乱”,你觉得DirectX程序的初始化只有一套?……………………
大家都是五六颗星的人了,我也不多说了。
Sn_Yugo
2002-08-21
打赏
举报
回复
建议你换一种变通的做法,比如截屏……
不过到底能不能获得独占模式下的主表面偶也期待中……
UP一下。
one_add_one
2002-08-21
打赏
举报
回复
大哥们,我要primary surface 我拿1000分来换。。。
加载更多回复(32)
DIRECTX
中
独占
模式
与窗口
模式
的切换
最近在GAMEDEV上发现了这篇文章,觉得挺不错的,特此翻译过来,有不对的地方希望大家指正
DIRECTX
中
独占
模式
与窗口
模式
的切换介绍让你的游戏能够在
独占
(全屏)
模式
与窗口
模式
下运行应该很简单,但想要让它合理且...
DIRECTX
中
独占
模式
与窗口
模式
的切换(译)
document.title="
DIRECTX
中
独占
模式
与窗口
模式
的切换 - "+document.tit 最近在GAMEDEV上发现了这篇文章,觉得挺不错的,特此翻译过来,有不对的地方希望大家指正
DIRECTX
中
独占
模式
与窗口
模式
的切换(一)介绍让...
DirectX
窗口
模式
一
DIRECTX
中
独占
模式
与窗口
模式
的切换(一) 介绍 让你的游戏能够在
独占
(全屏)
模式
与窗口
模式
下运行应该很简单,但想要让它合理且优雅的运行就要多做些工作了.在这篇文章
中
,我将用业界十
分
常用的C++语言来讲解这方面的...
DirectX
中
文手册
第一章
DirectX
基础(初级篇) 第一节 什么是
DirectX
一、什么是
DirectX
? 二、
DirectX
的组成部
分
三、关于DirectDraw 四、为什么要使用DirectDraw? 五、
DirectX
5.0的新特性? 六、什么是部件对象模型(COM...
收集的C#
Directx
资料
收集的C#
Directx
资料 摘要:C#进行游戏编程一直受到一些C++程序员的怀疑和... 回答当然是否定的,因为,微软已经发布了
DirectX
9.0SDK开发包,使得C#进行游戏编程简单易行,本篇在.NET环境下,用C#调用Di...
游戏开发
8,305
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章