Language agnostic 什么是全屏模式

Language agnostic 什么是全屏模式,language-agnostic,window,Language Agnostic,Window,我知道你可以通过扩展窗口和删除标题栏、状态栏和其他东西来伪造全屏,我对此不感兴趣,我想知道“真正的”全屏模式(我不知道如何称呼它),比如在游戏中 什么是全屏模式? 我应该使用什么win api来实现这一点? 这可以用来全屏播放电影吗?我知道windows media player使用的是假全屏,因为我可以“剪切”它并看到桌面(使用api)。 我可以像通过窗口(使用api)一样通过“真实”全屏进行“剪切”吗?或者这是直接写入视频内存,而在“下”没有任何内容 谢谢 如果您想在Windows上全屏制作

我知道你可以通过扩展窗口和删除标题栏、状态栏和其他东西来伪造全屏,我对此不感兴趣,我想知道“真正的”全屏模式(我不知道如何称呼它),比如在游戏中

什么是全屏模式? 我应该使用什么win api来实现这一点? 这可以用来全屏播放电影吗?我知道windows media player使用的是假全屏,因为我可以“剪切”它并看到桌面(使用api)。 我可以像通过窗口(使用api)一样通过“真实”全屏进行“剪切”吗?或者这是直接写入视频内存,而在“下”没有任何内容


谢谢

如果您想在Windows上全屏制作游戏,最好的选择是XNA。这在下面使用了DirectX,但隐藏了很多实现细节和管道,使开发人员可以轻松地开始开发他的游戏

XNA可以免费下载,并且有很好的文档


XNA Game Studio 4.0可以下载。

如果您不想使用DirectX,请创建窗口,并使用全屏标记调用CD。OpenGL应用程序使用这种方式进行全屏显示。

…除了“真实”全屏,您可能还希望支持“假”全屏模式-这对于我们这些运行多监视器系统的人来说非常好。

就用户而言,全屏就是当一个窗口占据整个屏幕时,他们不再看到任何窗口边框或其他桌面内容

正如你所知,并非所有的全屏屏幕都是平等的

“正确”全屏是程序控制屏幕的地方。当游戏使用此模式时,它可以更改屏幕的分辨率。如果你曾经玩过一个老游戏,并且看到你的图标都被弄乱了,这是;在玩游戏期间,您的桌面分辨率较低

使用“无边框全屏”时,程序窗口中没有任何边框、标题栏和框架等,只是一个纯渲染的矩形。如果随后将此渲染上下文设置为与桌面相同的大小,则会获得全屏效果

如今,无边框通常是更方便用户使用的方式,因为其他程序仍然以图形的形式存在,所以“制表”更容易适当的“全屏”让你可以完全控制硬件,所以理论上你的程序有更多的功能,但这意味着你必须等待事情在你退出时重新初始化

如何处理渲染上下文取决于您自己,因此可以使用它播放视频。无论您是否处于“正常”全屏,渲染代码都是相同的

至于通过适当的全屏窗口,我不确定,但我认为将没有其他东西可以看到,只有你的程序

至于WinAPI,只有一个windows api,但我想你的意思是,什么窗口库;因为这已经是一个很长的答案了,我只能说这在很大程度上取决于你想从中得到什么


如果您需要我澄清或扩展任何要点,请随时发表评论。

您想使用DirectX。因此没有win api可以使用DirectX?DirectX是Windows api之一。我的意思是,它不在
user32.dll中,但这并不意味着它不是扩展Windows API的一个组件。它是专门为游戏编程设计的,包括您描述的全屏模式。openGL没有任何“全屏”的概念。窗口大小是openGL外部管理的东西,它将为您提供一个openGL的渲染上下文。您还没有真正回答这个问题,您只是简单地将OP应用到另一种技术上,声称它是“狗屎”。我个人不喜欢XNA的刚性结构,但它确实为您处理了很多事情,因此对于初学者来说更容易。值得向OP指出的是,请求窗口的唯一方法是通过win32 API,但您不必直接使用它,任何看起来不像win32的东西都只是简单地对其进行抽象,因此您不必直接处理它有多糟糕。