Changer le fond d'écran en fonction de l'heure de la journée via un script ou un fichier batch?

9

Je veux avoir 2 fonds d'écran différents qui changent en fonction de l'heure de la journée (6 et 22 heures respectivement) et je veux seulement afficher la nuit après 22 heures et le jour seulement après 6 heures et jusqu'à 22 heures.

Je n'ai pas trouvé de programme capable de le faire après une veille, j'ai donc pensé que cela devrait être facile à réaliser avec le planificateur de tâches exécutant un script. Maintenant, la question n'est pas seulement de savoir comment réaliser un tel script, mais aussi si le script doit inclure la vérification de l'heure ou le planificateur de tâches. Je ne sais pas ce qui fonctionnerait mieux avec de longues périodes de veille du PC.

J'ai déjà essayé quelques scripts à partir de questions similaires et j'espérais pouvoir les modifier selon mes besoins, mais ils ne fonctionnaient pas du tout.

Quelqu'un peut-il m'aider? TIA.

Patrick
la source

Réponses:

5

C'est en fait très simple:

  1. Faites un clic droit sur l'arrière-plan du bureau
  2. Sélectionnez "Personnaliser"
  3. Cliquez sur "Fond d'écran"
  4. Glissez et déposez des images dans la boîte ou sélectionnez "Parcourir" et trouvez la ou les images
  5. Vérifiez les deux images, assurez-vous que celle du matin est la première
  6. Attendez jusqu'à 12 h 00 et sélectionnez «Changer l'image toutes les 12 heures»
  7. Prendre plaisir!
Adam
la source
C'est une astuce si élégante!
aalaap
5

Utilisez le planificateur de tâches et créez un VBscript pour changer le fond d'écran. Créez un script pour chaque fond d'écran que vous souhaitez utiliser.

dim shell
Set shell = WScript.CreateObject("WScript.Shell")
wallpaper = "C:\path\to\wallpaper.jpg"
shell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", wallpaper
shell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

Enregistrez le fichier sous quelque chose.vbs et ajoutez-le au planificateur de tâches, et le tour est joué! Vous avez tout fait fonctionner.

Il a également été mentionné que cela ne changerait pas le fond d'écran si vous aviez éteint votre ordinateur au moment où il devait changer. C'est faux, car la tâche peut être configurée pour s'exécuter au premier démarrage après l'heure sélectionnée, elle sera donc définie une fois que vous aurez démarré l'ordinateur même si elle était éteinte pendant la période où elle aurait dû être modifiée. Pour configurer cela, accédez aux propriétés des tâches spécifiques et dans l'onglet Paramètres. Cochez la deuxième case dans la fenêtre et c'est parti.

Ce script fonctionne parfaitement pour moi dans Windows 8. Veuillez noter comment j'ai légèrement modifié le script d'origine pour le raccourcir.

Source: http://www.ehow.com/facts_7586006_script-change-desktop-background.html

Steen Schütt
la source
Telle est la vraie réponse.
Joe Coder
1

Chaque fois que je vois quelqu'un demander de faire quelque chose à une heure précise ou périodiquement sur Windows, soutenez-moi l'idée d'utiliser Windows Task Scheduler.

entrez la description de l'image ici

Pour faire ce que vous avez l'intention de faire, vous devez créer deux taks, chacun étant prévu pour exécuter un script ou une commande pour passer d'un papier peint à l'autre au moment précis que vous souhaitez. Ces commandes devraient être capables de modifier automatiquement votre fond d'écran Windows par lui-même, et la façon la plus simple de le faire est d'utiliser le Registre Windows. Vous trouverez ici le HOWTO: Modifier le fond d' écran avec la clé de registre suivante:

HKEY_CURRENT_USER \ Control Panel \ Desktop \ WallPaper

Donc, créez vos tâches en définissant les valeurs dans votre registre et vous pourrez le changer automatiquement sans avoir besoin d'installer des applications tierces.

Diogo
la source
Merci, mais cela nécessite un redémarrage, mais il doit s'appliquer instantanément. J'ai aussi déjà essayé ce programme. Il ne peut pas faire ce que je veux, car il ne changera pas le fond d'écran, par exemple, de nuit en jour, si le PC a manqué un moment pour passer parce qu'il était en veille par exemple.
Patrick
Cela ne l'aide pas du tout - d'où ce que j'ai écrit dans mon article, cela nécessite un redémarrage ou une déconnexion et une connexion pour effectuer les modifications, donc pas automatique.
PnP
Vous êtes en fait assez proche, il vous suffit de mettre à jour les paramètres système par la suite. Jetez un oeil à ma réponse.
Steen Schütt du
1

J'avais l'intention de le faire depuis un bon moment, puis je suis revenu sur le sujet tout en ajustant la configuration à mon goût, après une réinstallation du système d'exploitation.

Après avoir examiné le projet, j'ai trouvé le fichier de configuration du diaporama; (% APPDATA% / Microsoft / Windows / Themes / slideshow.ini). Ce fichier contient une ligne "ImagesRootPIDL =" qui, après un peu de recherche sur Google, indique que la grande chaîne de lettres, de chiffres et de symboles suivante est en fait, un "PCIDLIST_ABSOLUTE" codé en uu "apparemment, c'est un moyen de localiser un répertoire dans Windows à un niveau inférieur à celui d'un chemin.

Quoi qu'il en soit, il semble que ce fichier change lorsqu'une image est ajoutée au répertoire du diaporama ou lorsque le diaporama est modifié dans un nouveau répertoire. Donc, ma solution était d'écrire un fichier batch deux fois par jour, en fonction de la variable% TIME%, de copier le .ini de chacun de mes diaporamas dans mon dossier de configuration et de les ajouter jour ou nuit, puis d'écraser le fichier .ini dans le dossier de thèmes avec le fichier .ini de diaporamas approprié.

Le seul inconvénient de ma solution est que j'ai maintenant un fichier batch en cours d'exécution tout le temps, bien que je suppose qu'une tâche planifiée serait une meilleure implémentation et s'occupe de ce problème, j'aime construire des choses qui n'interagissent vraiment qu'avec elles-mêmes. Jusqu'à présent, cela n'a pas eu besoin de redémarrage, de l'ordinateur ou de l'explorateur pour basculer entre les diaporamas, il passe simplement au diaporama suivant une fois le temps écoulé entre les diapositives. Je n'ai pas encore essayé de le faire échouer, mais le faire fonctionner pendant deux semaines me semble une période de débogage suffisante.

Je suis plutôt nouveau dans le système d'exploitation Windows, donc mes excuses si cela contient trop de déclarations évidentes, ou si cela se fait facilement en cliquant plusieurs fois. Je pense que ce genre de chose est le moyen le plus rapide d'apprendre le fonctionnement interne du système d'exploitation, bien que je pense que j'aurais pu l'écrire en environ cinq lignes dans un script bash linux plutôt que dans la quarantaine de colosses en lots de lignes impaires.

fantôme
la source
0

Malheureusement, je ne pense pas qu'il existe quelque chose dans Windows qui vous permettrait de le faire sans avoir à vous déconnecter et vous reconnecter. Étant donné que les fonds d'écran peuvent être contrôlés via le registre, vous pouvez créer un fichier de commandes pour modifier l'entrée de registre - mais les modifications apportées au fond d'écran lui-même ne seront visibles que lorsque vous vous déconnecterez et vous reconnecterez. Vous pouvez essayer une application tierce telle que: http://download.cnet.com/Automatic-Wallpaper-Changer/3000-2336_4- 10560884.html

J'espère que cela t'aides.

PnP
la source