社区
游戏开发
帖子详情
全屏游戏窗口化
angel_sha
2003-12-12 08:18:51
基于directx的全屏游戏如何能窗口化?希望各位高手给点意见,最好给点实际的代码。小弟将不胜感激!!!
...全文
322
11
打赏
收藏
全屏游戏窗口化
基于directx的全屏游戏如何能窗口化?希望各位高手给点意见,最好给点实际的代码。小弟将不胜感激!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
甜而不腻
2004-01-13
打赏
举报
回复
收藏。
zhaowd2002
2003-12-30
打赏
举报
回复
或者,大家直接去看 detours的资料,微软研究院 下载
zhaowd2002
2003-12-30
打赏
举报
回复
http://www.gameres.com/bbs/showthread.asp?threadid=3379
内有hook SetCooperativeLevel的例子
lsaturn
2003-12-29
打赏
举报
回复
hproof(魔界小虾米)
这样啊,很复杂啊!
angel_sha
2003-12-29
打赏
举报
回复
好象很难实现呀。不过还是很有收获!!
hproof
2003-12-29
打赏
举报
回复
建立你自己的COM对象,接口与DX的完全一样,然后用同一个CLSID在系统中注册。
在自己的COM对象实现中进行拦截,,,
lsaturn
2003-12-27
打赏
举报
回复
我也很好奇怎么来拦截,这是com对象,我想用softice来调试都调不了!
angel_sha
2003-12-27
打赏
举报
回复
我说的是让其他全屏的游戏窗口化呀
其实我想只要拦截到SetCooperativeLevel函数就已经差不多了,可是该怎么拦这个函数呢
拦截API还是很容易的,可是怎样拦截DDRAW.DLL中的函数?望指教!!
blacklevin
2003-12-13
打赏
举报
回复
楼上用的DXSDK8里的例子
完整代码在SDK里的路径是
\DXSDK8\samples\Multimedia\DirectDraw\SwitchScreenMode
切换模式时要重新调用
SetCooperativeLevel
SetDisplayMode
还有他们的绘图方式不一样
所以BACKBUFFER的结构不一样
也要重新创建
如果自己写底层的话可以让两种BACKBUFFER一样
火云洞红孩儿
2003-12-12
打赏
举报
回复
sorry~错了~
全屏:
g_pDisplay = new CDisplay();
if (FAILED(hr= g_pDisplay->CreateFullScreenDisplay(hWnd, 640, 480, 16)))
{ ERMSG("This display card does not support 640x480x16.");
return hr;
}
窗口:
if (FAILED(hr = g_pDisplay->CreateWindowedDisplay(hWnd,320,240)))
{ ERMSG("Failed initializing DirectDraw.");
return hr;
}
火云洞红孩儿
2003-12-12
打赏
举报
回复
HRESULT InitDirectDraw(HWND hWnd)
{ HRESULT hr;
g_pDisplay = new CDisplay();
if (FAILED(hr = g_pDisplay->CreateWindowedDisplay(hWnd,320,240)))
{ ERMSG("Failed initializing DirectDraw.");
return hr;
}
}
主要是CreateWindowedDisplay函数的参数不同就可以造成全屏和窗口两种模式~
全屏
游戏
切换至
窗口化
本文介绍了两种将
全屏
游戏
转换为
窗口化
显示的方法:一是通过新建
游戏
快捷方式并在目标栏后添加“-window”参数;二是使用ALT+ENTER快捷键进行
全屏
与
窗口化
模式的切换。需要注意的是,这些方法可能不适用于所有
游戏
。
用c++实现把
全屏
幕化的
游戏
改成
窗口化
在Windows上,可以使用C++调用Windows API来尝试将
全屏
游戏
窗口化
。示例代码中,通过查找
游戏
窗口并修改其样式,但这种方法可能不适用于所有
游戏
,特别是那些使用特殊
全屏
模式或限制修改的
游戏
。实际应用时,可能需要考虑
游戏
的权限设置、DirectX
全屏
模式,甚至使用更复杂的模拟按键或配置文件方法。
易语言实现
全屏
游戏
窗口化
源码分析
本文介绍了易语言实现
全屏
游戏
窗口化
的功能。易语言简单易学,适用于快速开发。项目主要技术点有获取
游戏
全屏
状态、创建新窗口、
游戏
画面渲染、输入事件处理及错误处理与兼容性。通过实践案例分析,展示了
窗口化
实施步骤及问题解决方案,有助于提升
游戏
编程能力。
c++ vs 输出log到窗口_有问有答:玩
游戏
时无边框
窗口化
与独占
全屏
有区别吗?...
本文对比了无边框
窗口化
和独占
全屏
两种
游戏
模式。独占
全屏
下应用程序可接管显卡全部资源,无边框
窗口化
则需预留部分资源给Windows窗口管理器,导致性能稍弱。以刺客信条奥德赛测试,无边框各帧数指标落后。玩家可按需选择模式。
C#开发WPF/Silverlight动画及
游戏
系列教程(Game Tutorial):(二十三)自适应性
窗口化
与
全屏
化(WPF Only)
本文介绍了一种
游戏
设计中实现
窗口化
与
全屏
化自适应切换的方法。提供了两种切换方案:一种仅调整可视区域大小,另一种则按比例缩放
游戏
内的所有元素。
游戏开发
8,324
社区成员
23,685
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章