Cambiare lo sfondo a seconda dell'ora del giorno tramite script o file batch?


9

Voglio avere 2 sfondi diversi che cambiano in base all'ora del giorno (rispettivamente 6 e 22 ore) e voglio visualizzare solo la notte dopo 22 ore e quella del giorno solo dopo 6 ore e fino a 22 ore.

Non ho trovato un programma in grado di farlo dopo uno standby, quindi ho pensato che sarebbe stato facile realizzarlo con l'utilità di pianificazione che esegue uno script. Ora la domanda non è solo su come realizzare un tale script, ma anche se lo script dovrebbe includere il controllo del tempo o l'utilità di pianificazione. Non sono sicuro di cosa funzioni meglio se il PC è in standby per lunghi periodi.

Ho già provato alcuni script da domande simili e speravo di poterli modificare in base alle mie esigenze, ma non funzionavano affatto.

Qualcuno in grado di aiutarmi? TIA.

Risposte:


5

Questo è in realtà molto semplice:

  1. Fare clic con il tasto destro sullo sfondo del desktop
  2. Seleziona "Personalizza"
  3. Fai clic su "Sfondo del desktop"
  4. Trascina e rilascia le immagini nella casella o seleziona "Sfoglia" e trova le immagini
  5. Controlla entrambe le immagini per assicurarti che sia la prima mattina
  6. Attendi fino alle 12:00 e seleziona "Cambia immagine ogni 12 ore"
  7. Godere!

Questo è un trucco così elegante!
aalaap,

5

Utilizzare l'utilità di pianificazione e creare un VBscript per modificare lo sfondo. Crea uno script per ogni sfondo che intendi utilizzare.

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

Salvare il file come qualcosa.vbs e aggiungerlo all'utilità di pianificazione e voilà! Hai fatto funzionare tutto.

È stato anche detto che non cambierebbe lo sfondo se il tuo computer fosse spento nel momento in cui dovrebbe cambiare. Questo è sbagliato, poiché l'attività può essere impostata per essere eseguita al primo avvio dopo l'ora selezionata, quindi verrà impostata una volta avviato il computer anche se era spenta durante il tempo in cui avrebbe dovuto essere modificata. Per configurarlo, vai alle proprietà delle attività specifiche e nella scheda delle impostazioni. Spuntare la seconda casella nella finestra e il gioco è fatto.

Questo script funziona perfettamente per me in Windows 8. Nota come ho modificato un po 'lo script originale per renderlo più breve.

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


Questa è la vera risposta
Joe Coder,

1

Ogni volta che vedo qualcuno che chiede di fare qualcosa in un momento specifico o periodicamente su Windows, sostenimi l'ideia di utilizzare l' Utilità di pianificazione di Windows.

inserisci qui la descrizione dell'immagine

Per fare ciò che intendi fare, devi creare due tak, ognuno programmato per eseguire uno script o un comando per passare da uno sfondo all'altro nel momento specifico che desideri. Questi comandi dovrebbero essere in grado di modificare automaticamente lo sfondo di Windows da solo e il modo più semplice per farlo è utilizzare il registro di Windows. Qui puoi trovare HOWTO: Cambia lo sfondo del desktop con la seguente chiave di registro:

HKEY_CURRENT_USER \ Pannello di controllo \ Desktop \ WallPaper

Quindi, crea le tue attività impostando i valori sul tuo registro e sarai in grado di cambiarlo automaticamente senza la necessità di installare app di terze parti.


Grazie, ma ciò richiede un riavvio, ma deve essere applicato immediatamente. Ho anche provato quel programma già. Non può fare quello che voglio, perché non cambierà lo sfondo da dire, notte per giorno, se il PC ha perso un tempo per passare perché era in standby, ad esempio.
Patrick,

Questo non lo aiuta affatto - quindi quello che ho scritto nel mio post, richiede il riavvio o il logout e il login per apportare le modifiche, quindi non automatico.
PnP,

In realtà sei abbastanza vicino, devi solo aggiornare i parametri di sistema in seguito. Dai un'occhiata alla mia risposta.
Steen Schütt,

1

Avevo intenzione di farlo per un bel po ', quindi sono tornato sull'argomento mentre ritoccavo la configurazione nel modo in cui mi piace, dopo una reinstallazione del sistema operativo.

Dopo aver esaminato il progetto, ho trovato il file di configurazione della presentazione; (% APPDATA% / Microsoft / Windows / Themes / slideshow.ini). Questo file contiene una riga "ImagesRootPIDL =" che, dopo un po 'di ricerche su google, indica che la seguente grande stringa di lettere, numeri e simboli è in effetti, un "PCIDLIST_ABSOLUTE" uuencoded apparentemente questo è un modo per individuare una directory in Windows in un livello inferiore rispetto all'utilizzo di un percorso.

In ogni caso, sembra che questo file cambi quando un'immagine viene aggiunta alla directory per la presentazione o quando la presentazione viene cambiata in una nuova directory. Quindi la mia soluzione era quella di scrivere un file batch due volte al giorno, a seconda della variabile% TIME%, copiare il .ini per ciascuna delle mie presentazioni nella mia cartella di configurazione e aggiungerle con il giorno o la notte, quindi sovrascrivere il file .ini nella cartella dei temi con il file .ini delle presentazioni appropriato.

L'unico aspetto negativo della mia soluzione è che ora ho un file batch sempre in esecuzione, anche se immagino che un'attività pianificata sarebbe una migliore implementazione e mi occupo di quel problema, mi piace costruire cose che interagiscono davvero solo con se stesse. Finora questo non ha richiesto alcun riavvio, del computer o dell'esploratore per passare da una presentazione all'altra, passa semplicemente alla presentazione successiva dopo che è trascorso il tempo tra le diapositive. Non ho ancora provato a farlo fallire, ma eseguirlo per due settimane mi sembra abbastanza un periodo di debug.

Sono piuttosto nuovo nel sistema operativo Windows, quindi mi scuso se ci sono troppe affermazioni ovvie o se lo si fa facilmente facendo clic alcune volte. Immagino che questo genere di cose sia il modo più veloce per imparare il funzionamento interno del sistema operativo, anche se penso che avrei potuto scriverlo in circa cinque righe in uno script bash di Linux piuttosto che nei quaranta alcuni colossi in batch di linee dispari.


0

Purtroppo non penso che ci sia qualcosa di integrato in Windows che ti consenta di farlo senza la necessità di disconnettersi e riconnettersi. Poiché gli sfondi possono essere controllati tramite il registro, è possibile costruire un file batch per modificare la voce del registro - ma le modifiche allo sfondo stesso non sarebbero visibili fino a quando non ti disconnetti e accedi di nuovo. Puoi provare un'app di terze parti come: http://download.cnet.com/Automatic-Wallpaper-Changer/3000-2336_4- 10560884.html

Spero che sia di aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.