Changer de fond d'écran en fonction de l'heure du jour via un script ou un fichier batch?

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

Je n'ai pas trouvé un programme qui peut le faire après une mise en veille, alors j'ai pensé qu'il serait facile de réaliser avec le planificateur de tâches exécutant un script. Maintenant, la question n'est pas seulement de réaliser un tel script, mais aussi si le script doit inclure la vérification du temps ou le planificateur de tâches. Je ne suis pas sûr de ce qui fonctionnerait mieux si les temps longs du PC étaient en mode veille.

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

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

C'est en fait très simple:

  1. Cliquez avec le bouton droit de la souris sur l'arrière-plan du bureau
  2. Sélectionnez "Personnaliser"
  3. Cliquez sur "Fond d'écran du bureau"
  4. Faites glisser et déposez des images dans la boîte ou sélectionnez "Parcourir" et trouvez l'image (s)
  5. Vérifiez les deux images assurez-vous que le matin est le premier
  6. Attendez jusqu'à 12h00 et sélectionnez "Changer l'image toutes les 12 heures"
  7. Prendre plaisir!

Utilisez le planificateur de tâches et créez un VBscript pour modifier 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 comme something.vbs et ajoutez-le au planificateur de tâches, et voila! Vous avez tout fonctionné.

On a également mentionné qu'il ne changerait pas le papier peint si vous étiez fermé votre ordinateur au moment où il devrait changer. C'est faux, car la tâche peut être configurée pour être exécutée sur le premier démarrage après l'heure sélectionnée, de sorte qu'il sera réglé une fois que vous démarrez l'ordinateur même s'il était éteint pendant le temps qu'il aurait dû changer. Pour configurer ceci, accédez aux propriétés des tâches spécifiques et à l'onglet Paramètres. Cochez la deuxième case dans la fenêtre et vous quittez.

Ce script fonctionne parfaitement pour moi dans Windows 8. Veuillez noter comment j'ai modifié le script original un peu pour rendre le script plus court.

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

Chaque fois que je vois quelqu'un demander de faire quelque chose sur un temps précis ou périodiquement sur Windows, faites-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 devriez créer deux taks, chacun d'eux programmé pour exécuter un script ou une commande pour passer d'un fond d'écran à l'autre au moment précis que vous voulez. Ces commandes devraient pouvoir modifier automatiquement votre fond d'écran Windows par lui-même, et la manière la plus simple de le faire est d'utiliser le Registre Windows. Ici, vous pouvez trouver HOWTO: Changer 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 la modifier automatiquement sans avoir à installer d'applications tierces.

J'avais eu envie de faire cela un peu, puis je suis revenu sur le sujet tout en ajustant la configuration à la façon dont je l'aime, après un système d'installation du système d'exploitation.

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

Quoi qu'il en soit, l'histoire est courte comme si ce fichier change quand une image est ajoutée au répertoire pour le diaporama ou lorsque le diaporama est changé en un nouveau répertoire. Donc, ma solution était d'écrire un fichier batch deux fois par jour, en fonction de la variable% TIME%, copier l'.ini pour chacune de mes diaporamas dans mon dossier de configuration et les ajouter avec le jour ou la nuit puis écraser le fichier .ini dans le fichier .ini Dossier de thèmes avec le fichier .ini approprié.

Le seul inconvénient de ma solution est que, j'ai maintenant un fichier de commandes fonctionnant tout le temps, mais je suppose qu'une tâche programmée serait une meilleure mise en œuvre et prendra soin de ce problème, j'aime construire des choses qui n'interagissent qu'avec eux 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 se déplace simplement au prochain diaporama après que le temps entre les diapositives est terminé. Je n'ai pas essayé de le faire échouer encore, mais l'exécution pendant deux semaines me semble assez d'une période de débogage.

Je suis plutôt nouveau sur le système d'exploitation Windows, donc je m'excuse si cela comporte trop d'instructions évidentes, ou est facilement fait en cliquant quelques fois. Je pense que ce genre de chose est le moyen le plus rapide d'apprendre le fonctionnement interne du système d'exploitation, même si je pense que je pourrais l'avoir écrit dans environ cinq lignes dans un script linux bash plutôt que dans les quarante colossus de lots de lignes impaires.

Malheureusement, je ne pense pas qu'il y ait quelque chose intégré dans Windows qui vous permettrait de le faire sans avoir besoin de vous déconnecter et de vous connecter. Puisque les fonds d'écran peuvent être contrôlés via le registre, vous pouvez construire un fichier batch pour modifier l'entrée de registre – mais les modifications apportées au fond d'écran ne seront pas vues jusqu'à ce que vous vous déconnectiez et vous renseigner. 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.