Bonsoir à tous,
comment fait-on pour transformer un exécutable en écran de veille et quelles précautions faut-il prendre dans le source ?
Bonsoir à tous,
comment fait-on pour transformer un exécutable en écran de veille et quelles précautions faut-il prendre dans le source ?
Tout est expliqué ici.
Bonjour.
Bien que cette question ait été marquée " Résolue ", permettez-moi d'ajouter quelques commentaires qui, je l'espère, aideront les lecteurs de ce topic.
J'ai personnellement écrit un écran de veille et j'ai galéré avant d'y parvenir.
La faute en revient essentiellement à Microsoft qui s'est ingénié à cacher dans une documentation absconse ce qui n'est finalement pas si compliqué que çà.
Pour faire simple, un ScreenSaver est un exécutable comme un autre, à cela près que :
1) il doit se trouver dans le répertoire System32 de Windows
2) il doit avoir .scr comme extension, au lieu de .exe
3) il doit avoir 3 modes de fonctionnement en fonction de sa ligne de commande, cette ligne de commande pouvant être :
a) /s
b) /c
c) /p XXXX
4) en fonctionnement normal ( cas a)) le programme doit cesser son exécution dès qu'il reçoit un WM_KEYDOWN, un clic de souris ( n'importe quel bouton ) ou si la souris se déplace de quelques pixels.
Le seul point qui demande quelques explications supplémentaires est le troisième.
( notez que c'est Windows lui-même qui remplit la ligne de commande )
a) Si la ligne de commande est /s, alors l'exécution normale doit être lancée.
b) Si la ligne de commande est /c, il faut ouvrir une boite de dialogue pour configurer le programme.
Cette boite de dialogue permet à l'utilisateur de fixer les paramètres essentiels, paramètres que l'on stockera dans la base de registre pour les retrouver ensuite lors de l'exécution normale.
Si le programme n'a pas besoin d'être configuré, alors il suffit d'afficher une MessageBox pour le signaler à l'utilisateur.
c) Si la ligne de commande est /p XXXX, alors le programme soit s'exécuter en mode " preview ".
Plus précisément, au lieu de s'exécuter sur l'écran tout entier, il doit le faire à l'intérieur d'une petite fenêtre construite par Windows.
Le handle de cette petite fenêtre se trouve dans le nombre XXXX ( en décimal ) et le programme doit créer sa fenêtre principale comme fenêtre enfant de cette fenêtre.
Cela permet à l'utilisateur d'avoir une démo du programme dans un petit écran.
Pour comprendre l'intérêt de ces 3 possibilités, allez voir les propriétés de l'affichage, onglet Écran de veille : vous verrez une démo de l'écran de veille actuel dans une petite fenêtre.
Le bouton Paramètres lancera le mode Configuration.
Le bouton Aperçu lancera le programme en mode normal (grand écran).
Voila, c'est tout ce qu'il faut savoir.
Le reste, c'est de la programmation classique ...
Lectures conseillés :
http://www.wischik.com/scr/howtoscr.html
http://www.harding.edu/fmccown/scree...reensaver.html
Merci beaucoup pour toutes ses infos.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager