2

我使用 OpenGL 和 SDL(它不使用 Windows 库)在 C++ 中创建了一个动画,并希望将其用作 Windows 系统的屏幕保护程序。我阅读了一个示例:它描述了您只需将.exe扩展名更改为.scr.

我已经这样做了,并将动画作为屏幕保护程序运行,但我注意到动画根本运行顺畅。好像应用程序性能有所损失。

我制作的应用程序创建动画,将其设置为全屏,隐藏光标并处理所有键盘输入。如何让我的应用程序作为屏幕保护程序顺利运行?

4

1 回答 1

4

这不仅仅是重命名文件。

您至少必须支持正确的行为以响应以下命令行参数(取自Microsoft):

ScreenSaver           - Show the Settings dialog box.
ScreenSaver /c        - Show the Settings dialog box, modal to the
                        foreground window.
ScreenSaver /p <HWND> - Preview Screen Saver as child of window <HWND>.
ScreenSaver /s        - Run the Screen Saver.

如果您的可执行文件的多个实例正在启动并作为全屏屏幕保护程序运行(屏幕保护程序仅应在指定 /s 时实际运行),这可能是您的性能问题的原因。您应该在例如任务管理器中验证这一点。

希望有帮助。

于 2013-08-05T04:23:27.090 回答