3 votes

C++ Créer un économiseur d'écran pour Windows

J'ai créé une animation en C++ en utilisant OpenGL et SDL (sans utiliser les bibliothèques Windows) et je souhaite l'utiliser comme économiseur d'écran pour un système Windows. J'ai lu un exemple : il décrit qu'il suffit de changer l'extension .exe en .scr.

J'ai fait cela et j'ai lancé l'animation comme économiseur d'écran mais j'ai remarqué que l'animation ne s'exécutait pas du tout de manière fluide. Comme s'il y avait une perte de performance de l'application.

L'application que j'ai créée crée l'animation, la met en plein écran, cache le curseur et gère toutes les entrées au clavier. Comment puis-je faire en sorte que mon application s'exécute de manière fluide en tant qu'économiseur d'écran?

5voto

Jason C Points 14927

C'est plus que simplement renommer le fichier.

Au minimum, vous devez prendre en charge un comportement correct en réponse aux paramètres de ligne de commande suivants (issus de Microsoft ):

 ScreenSaver - Affiche la boîte de dialogue des paramètres.
ScreenSaver /c - Affiche la boîte de dialogue des paramètres, modale à la fenêtre au premier plan.
ScreenSaver /p  - Prévisualiser le protecteur d'écran en tant qu'enfant de la fenêtre .
ScreenSaver /s - Exécute le protecteur d'écran.

Si plusieurs instances de votre exécutable sont lancées et exécutées en tant que protecteur d'écran en plein écran (le protecteur d'écran ne doit réellement s'exécuter que si /s est spécifié), cela peut être la cause de vos problèmes de performances. Vous devriez vérifier cela dans, par exemple, le Gestionnaire des tâches.

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X