我试图获得对全屏无边界窗口的支持,但是我发现的所有信息都没有帮助。
无论窗口是否设置为WS_EX_TOPMOST,窗口始终处于独占全屏模式。我已经检查了游戏中的窗口样式,使用了WinSpy++的全屏无边界窗口模式,而且我使用的样式是相同的。
我知道它是在独家全屏模式,因为波分复用停止渲染我的窗口的小气动预览的东西。我也从聚焦和不对焦窗口中得到桌面闪烁。
我唯一能得到的行为与我想要的是通过欺骗窗口,使我认为我不想要全屏模式。我这样做是通过调整窗口位置1 1px,使其不匹配的位置和大小的屏幕。这将阻止Windows自动打开独占的全屏模式。
我知道在DirectX中,解决这一问题的方法只是创建一个设置为true的窗口标志的设备。然而,在OpenGL中,我从未见过这样的情况。
第一条评论:编辑:
我不使用任何第三方库作为窗口,只使用Win32和OpenGL。
编辑:
我使用WS_POPUP作为窗口样式。在一些DirectX测试中,使用相同的窗口样式,我可以通过更改“windowed”属性正确地创建一个全屏无边界窗口或一个全屏独占窗口。
对于硬件,我使用的是GTX690和Win7 x64上的最新驱动程序。
发布于 2016-12-12 16:40:39
在ChoosePixelFormat/SetPixelFormat的PIXELFORMATDESCRIPTOR中使用PFD_SUPPORT_COMPOSITION。
https://stackoverflow.com/questions/22259067
复制相似问题