Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 如何使我的程序在VC++中实现真正的全屏显示?_Winapi_Visual C++ - Fatal编程技术网

Winapi 如何使我的程序在VC++中实现真正的全屏显示?

Winapi 如何使我的程序在VC++中实现真正的全屏显示?,winapi,visual-c++,Winapi,Visual C++,如何在VC++中创建真正的全屏模式 代码: 游戏通常使用一种模式,该模式独家使用视频输出-这意味着没有其他窗口或任务栏可以绘制到屏幕上,并且应用程序可以以您想要的任何分辨率和颜色深度使用整个屏幕,无论视频卡支持什么。游戏通常使用的模式是独占视频输出-这意味着没有其他窗口或任务栏可以绘制到屏幕上,应用程序可以以您想要的分辨率和颜色深度使用整个屏幕,无论视频卡支持什么。 SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NO

如何在VC++中创建真正的全屏模式

代码: 游戏通常使用一种模式,该模式独家使用视频输出-这意味着没有其他窗口或任务栏可以绘制到屏幕上,并且应用程序可以以您想要的任何分辨率和颜色深度使用整个屏幕,无论视频卡支持什么。

游戏通常使用的模式是独占视频输出-这意味着没有其他窗口或任务栏可以绘制到屏幕上,应用程序可以以您想要的分辨率和颜色深度使用整个屏幕,无论视频卡支持什么。

SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
没有把它放在任务栏的顶部?

SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
未将其放在任务栏顶部?

签出并查看WS_EX_TOPMOST…

签出并查看WS_EX_TOPMOST…

请参阅

如果多个窗口设置为AlwaysOnTop;而不仅仅是手动置于顶部的窗口将保持在顶部。例如,有两个窗口Window1和Window2;然后,当您运行window1.exe时,它将是顶部的窗口;当您运行window2.exe时,该窗口将位于顶部,这是默认行为

否则,如果您不允许任何其他窗口位于顶部,则必须查找在您的窗口之后正在调用的其他应用程序,然后可能会以某种方式挂起这些窗口,我们可能会调用其最小化事件将其发送到任务栏。

请参阅

如果多个窗口设置为AlwaysOnTop;而不仅仅是手动置于顶部的窗口将保持在顶部。例如,有两个窗口Window1和Window2;然后,当您运行window1.exe时,它将是顶部的窗口;当您运行window2.exe时,该窗口将位于顶部,这是默认行为


否则,如果您不允许任何其他窗口位于顶部,您将不得不查找在您的窗口之后被调用的其他应用程序,然后可能会以某种方式挂起这些窗口,我们可能会调用其最小化事件将其发送到任务栏。

问题是,如果有多个窗口具有WS_EX_最顶部样式,那么哪一个是最棒的呢?你指的是2个或更多的全屏视频播放器或游戏。我不知道,但这不是一种普通的窗户样式,也不是很常见。例如,当您更改屏幕分辨率并按“应用”时,Windows将创建这种类型的窗口并将其绘制为黑色,更改屏幕分辨率,然后将其关闭,以便在此操作过程中不会看到任何屏幕垃圾。其他使用此功能的程序是视频播放器,当您需要全屏播放时,它们会设置此标志。我还为自己编写的视频播放器使用了这种风格。在现实世界中,您可以放心地忽略您的假设。我确信那些弹出的通知气球总是在顶部,MS messenger提示也是如此,但我还没有对此进行测试。另外,您确定在更改视频模式时会出现黑色窗口吗?你有这方面的参考资料吗?每当屏幕模式改变时,我的显示器都会变黑—即使在启动期间,从文本模式bios切换到低分辨率加载屏幕,再切换到高分辨率欢迎屏幕,在非窗口操作系统上,甚至在不使用“显示属性”对话框的情况下切换模式。youtube视频播放器在全屏模式下播放时,每当我尝试访问另一个窗口时,都会跳出全屏模式-即使只是单击另一个窗口,也会将播放器从全屏模式中移出两个监视器,一个是全屏视频,另一个是应用程序。在调试视频播放器时,我无意中发现它在分辨率更改期间处于黑色窗口。Flash插件也使用CreateWindowExA函数,但它与窗口站无关。也许这就是为什么,当其他程序获得焦点时,它会退出全屏模式。WS_EX_TOPMOST标志在窗口具有焦点时将窗口置于最上方。我的应用程序每5秒通过编程捕获一次焦点。。。ifdef_调试ShowCursorTRUE;否则显示错误;SetActiveWindowpi_win;给印度带来胜利;SetForewoundowpi_win;End如果问题是如果有多个窗口采用WS_EX_TOPMOST样式,那么哪一个是最顶级的?你是指2个或更多全屏视频播放器或游戏。我不知道,但这不是一种普通的窗户样式,也不是很常见。例如,当您更改屏幕分辨率并按“应用”时,Windows将创建这种类型的窗口并将其绘制为黑色,更改屏幕分辨率,然后将其关闭,以便在此操作过程中不会看到任何屏幕垃圾。其他使用此功能的程序是视频播放器,当您需要全屏播放时,它们会设置此标志。我还为自己编写的视频播放器使用了这种风格。在现实生活中,你完全可以忽略你的假设
我确信那些弹出的通知气球总是在顶部,MS messenger的提示也是如此,但我还没有测试过。另外,您确定在更改视频模式时会出现黑色窗口吗?你有这方面的参考资料吗?每当屏幕模式改变时,我的显示器都会变黑—即使在启动期间,从文本模式bios切换到低分辨率加载屏幕,再切换到高分辨率欢迎屏幕,在非窗口操作系统上,甚至在不使用“显示属性”对话框的情况下切换模式。youtube视频播放器在全屏模式下播放时,每当我尝试访问另一个窗口时,都会跳出全屏模式-即使只是单击另一个窗口,也会将播放器从全屏模式中移出两个监视器,一个是全屏视频,另一个是应用程序。在调试视频播放器时,我无意中发现它在分辨率更改期间处于黑色窗口。Flash插件也使用CreateWindowExA函数,但它与窗口站无关。也许这就是为什么,当其他程序获得焦点时,它会退出全屏模式。WS_EX_TOPMOST标志在窗口具有焦点时将窗口置于最上方。我的应用程序每5秒通过编程捕获一次焦点。。。ifdef_调试ShowCursorTRUE;否则显示错误;SetActiveWindowpi_win;给印度带来胜利;SetForewoundowpi_win;EndIf但它不会阻止其他窗口执行相同的操作并出现在您的窗口顶部。这是真的。。。但是,由于DirectX不是为窗口设计的,如果您尝试在全屏模式下绘制窗口,那么很多驱动程序都会失败。不过值得一试。。。我给你这个。DirectX可以在窗口中很好地使用。此外,如果您以独占方式访问主界面,则没有其他窗口/应用程序可以绘制到屏幕上。但这不会阻止其他窗口执行相同的操作并出现在您的窗口顶部。这是真的。。。但是,由于DirectX不是为窗口设计的,如果您尝试在全屏模式下绘制窗口,那么很多驱动程序都会失败。不过值得一试。。。我给你这个。DirectX可以在窗口中很好地使用。此外,如果您以独占方式访问主曲面,则其他窗口/应用程序无法绘制到屏幕上。