Cambia lo sfondo di una macchina Windows 7 usando il Registro


18

Ho collegato la mia macchina a un gruppo di lavoro. Le impostazioni per modificare lo sfondo sono nel computer server, in modo che tutto il computer abbia lo stesso sfondo. Ora come posso cambiare lo sfondo della mia macchina usando il registro?

Dopo aver letto alcune risposte,

Ho creato Wall.regcon il seguente contenuto e creato un collegamento nella Start upcartella, in modo che il file venga eseguito automaticamente.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"

Mi sto perdendo qualcosa? Non funziona :(


1
Prova a usare le doppie barre nel percorso dello sfondo.
Thane

Risposte:


9

Navigare verso

HKEY_CURRENT_USER \ Pannello di controllo \ Desktop

e modifica il valore della chiave Sfondo per il percorso completo dell'immagine.


9
E ogni volta che accedi, l'oggetto Criteri di gruppo ripristina lo sfondo sull'originale.
Joe Taylor,

1
@JoeTaylor - Non se, invece di modificare il percorso, trovi il percorso e sostituisci l'immagine con l'immagine desiderata, ma con lo stesso nome. :)
Suamere,

1
@Suamere - Che se il suo server fosse ospitato (quale dovrebbe essere) sarebbe impossibile per un utente normale.
Joe Taylor,

3

So che questo è un vecchio passo e Windows 7 è un sistema operativo che sta rapidamente diventando obsoleto. Ma per gli utenti occasionali: mi occupo da anni del mio negozio. Sono abbastanza vicino all'IT da avere determinati privilegi sul mio laptop, ma non abbastanza da fermarmi per fare stupidi oggetti Criteri di gruppo che, ovviamente, mi interessano.

Su XP, ne sono certo, su Windows 7 questa è solo una fonte d'ispirazione: questo tipo di modifiche al registro non avranno effetto fino al riavvio del sistema! E poiché si tenta di aggirare un oggetto Criteri di gruppo, ciò equivale a "missione impossibile" in molte situazioni. Esiste, tuttavia, un modo per forzare l'applicazione di un aggiornamento del registro senza riavviare ...

Il fatto è: non è necessario riavviare - è necessario svuotare la cassa delle impostazioni del registro - che fa parte del riavvio .

Soluzione (almeno su XP):

@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet
:: Configure Wallpaper (command prompt method works only with bmp files)
REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "C:\WINDOWS\Web\Wallpaper1.bmp" 
REG ADD "HKCU\Control Panel\Desktop" /V WallpaperStyle /T REG_SZ /F /D 0
REG ADD "HKCU\Control Panel\Desktop" /V TileWallpaper /T REG_SZ /F /D 1
:: Make the changes effective immediately (only XP-compatible)
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

Questo funziona (ha funzionato) per me sulla mia macchina XP, il trucco è l'ultima riga: esegui "user32.dll, UpdatePerUserSystemParameters" come parte del file bat. Questo prende il posto di un "riavvio". :-)

Ho inserito questo nella cartella Start e ho aggiunto una combinazione di tasti di scelta rapida al file bat: in questo modo, il mio PC è iniziato con il mio sfondo e quando l'oggetto Criteri di gruppo si aggiorna un paio di volte durante il giorno, premo il tasto di scelta rapida e riavere la mia visione preferita (che è infinitamente più bella dello "schermo nero della depressione" che è lo stock aziendale) ;-)

Non ho ancora avuto modo di risolvere questo problema sul mio nuovo laptop (con Win 7), ma immagino che qualcuno là fuori possa essere ispirato da questo comportamento (XP) e fare ulteriori ricerche.


1
@Ramhound - Beh, il voto negativo è un po 'avventato, se me lo chiedi! Certo, non l'ho fatto - altrimenti avrei detto così - e non scrivendo "Non ho ancora in giro per risolvere il problema sul mio nuovo laptop (con Win 7), ma immagino che qualcuno là fuori possa essere ispirato da questo (XP) comportamento e ricerca ". Mi sono imbattuto in questa pagina alla ricerca di un modo per farlo sul mio box Win 7 ... e se tu avessi avuto un po 'di pazienza, avresti visto il mio aggiornamento venire dopo ...
Hansjp,

Ho appena cancellato i miei commenti per evitare ping inutili
Ramhound,

2

Per quelli di voi che si occupano ancora di scatole XP, lascio intatta la mia risposta precedente.

Tuttavia, ora posso condividere un approccio per risolvere il problema su una finestra di Windows 7:

  1. Come ho detto prima, non vuoi riavviare il PC, perché stai
    combattendo una politica di gruppo che viene applicata al riavvio (e nel mio
    caso personale, ogni poche ore durante il giorno). Tuttavia, le modifiche al
    registro necessitano di un flush delle impostazioni incassate prima che diventino
    attive. Un riavvio lo fa.

Dobbiamo trovare un altro modo per raggiungere l'obiettivo: "change-background-of-a-windows-7-machine ..." - Salto la parte "using-register", perché non penso che sia possibile, e francamente, non penso che sia l'approccio giusto su Windows 7! E ' stato su XP - come ho detto nella mia risposta precedente.

La parola magica ora è "Themepack" - e la conoscenza magica è: "È eseguibile!" Ciò di cui hai bisogno è un metodo automatizzato per eseguirlo e gestirne le conseguenze.

  1. Uso AutoHotkey versione 1.1 ( http://ahkscript.org/ ) per una serie di cose sul mio laptop, e se hai i permessi necessari per eseguire questo programma, sei a posto:
  2. (Supponendo di non fare nient'altro con AutoHotkey): creare un file txt, denominarlo in qualsiasi modo ma assegnargli un'estensione ".ahk" anziché ".txt" e salvarlo nella cartella Startup ("C: \ Users \ inserisci il mio nome utente \ AppData \ Roaming \ Microsoft \ Windows \ Menu Start \ Programmi \ Startup "nel mio caso). Ora funzionerà ad ogni avvio.

Modifica il file usando Blocco note o strumento simile: inserisci queste righe:

    ; Setting wallpaper on the desktop on Win 7 which is: Apply a Themepack!
    <^<+D::
     Run "C:\Laptop theme.themepack"  ; Apply your Themepack
     WinWait Personlige indstillinger ; Wait for the window to get focus (the appearance is mandatory on an "apply" command)
     WinClose                         ; Close the last found window
    return

Nota che non eseguo solo il codice all'avvio, ma allego anche un tasto di scelta rapida (LCTRL + LSHIFT + D), che esegue questa parte dello script a piacimento.

Nota anche la riga di comando "WinWait": il mio sistema è danese, quindi il titolo della mia finestra di personalizzazione è "Personlige indstillinger". Devi inserire qui il titolo della finestra sul tuo sistema. Leggi i file di aiuto di AHK su come farlo, se non è abbastanza ovvio per te indovinarlo giusto per cominciare.

  1. Ora non resta che personalizzare il tuo laptop Windows 7 una volta per tutte (a meno che un criterio di gruppo impedisca a te (utenti) di cambiare le cose, puoi sempre cambiare le cose). Quando sei soddisfatto, salva il Themepack risultante sul percorso che hai fornito nello script (ad es. "C: \ Laptop theme.themepack") e fatto .

  2. Nota: se non è possibile salvare nulla su "C: \", è possibile posizionare il pacchetto tematico ovunque, anche nelle cartelle personali dell'utente. Il vantaggio è che mantieni lo script anche quando il reparto IT sta cambiando il tuo laptop, a condizione che si occupino del backup delle cartelle degli utenti. Il mio gusto personale è solo quello di rendere le cose brevi e non mi piace connettermi alle condivisioni di rete durante l'avvio se posso aiutarlo. Che posso.


1
E ovviamente .. l'ovvio si nasconde sempre in bella vista! Puoi semplicemente salvare Themepack nella cartella Startup! ... Questo è tutto il "autoexecute all'avvio" che desideri. Credo che di regola questo verrà sempre eseguito dopo gli oggetti Criteri di gruppo - è almeno sul mio sistema. L'unico inconveniente: è necessario chiudere manualmente la finestra delle impostazioni, quando non si esegue lo script di quella parte. Ma ti fa risparmiare la testa di AutoHotkey, quindi immagino che valga la pena menzionarlo.
Hansjp,

Quindi ... come si crea un Themepack?
Emanuele Ciriachi,

1
Non puoi fare a meno di averne uno. Windows ne crea uno per te quando avvii il sistema operativo. Se si apportano modifiche, per esempio, all'immagine desktop, un "tema non salvato" apparirà da solo. Tutto quello che devi fare è 1) salvarlo per ottenere il file e 2) copiare il file in un posizionamento dove si trova. Per trovarlo: fai clic con il pulsante destro del mouse sul desktop, seleziona Impostazioni personali.
Hansjp,

1

Se il server controlla lo sfondo tramite un oggetto Criteri di gruppo, dovrai reimpostare lo sfondo ogni volta che accedi o l'oggetto Criteri di gruppo viene aggiornato sul tuo computer.

È possibile creare un file reg modificando correttamente i valori e salvarlo sul desktop, eseguendolo ad ogni accesso si otterrebbe lo sfondo desiderato dopo ogni accesso. Utilizzare la chiave di registro fornita da Thane ed esportare il valore corretto. Ogni volta che lo importi, il registro verrà modificato sul valore desiderato.

Cose da considerare:

Stai infrangendo la politica IT dell'azienda in questo modo?
Puoi modificare il registro? e creare attività di avvio per farlo? cioè hai i privilegi?
Ne vale la pena?


Posso modificare il registro. Puoi darmi un'idea di come posso creare il file reg e tutto il resto. ?
Rauf,

Si prega di vedere la mia modifica.
Rauf,

Se si importa semplicemente la chiave di registro manualmente. cioè facendo doppio clic su di esso. Funziona?
Joe Taylor,

No. Non funziona.
Rauf,

Prenderei sicuramente in considerazione di parlarne con il tuo dipartimento IT. ci sono una serie di impostazioni GP che possono cambiare / impedire a un utente di cambiare lo sfondo. se l'hanno fatto per un motivo potresti ritrovarti in acqua calda per fare casino nel registro e cambiarlo.
Joe Taylor,

1

Basta salvare lo sfondo "koala" sul file di sfondo predefinito utilizzato dalla politica.


Questo file probabilmente non è scrivibile in tutto il mondo e l'OP non afferma di avere privilegi amministrativi.
G-Man dice "Ripristina Monica" il

Ha funzionato per me, ma hai ragione, potrebbe non funzionare per lui.
MattPark

0

Ci ho appena provato. Quando copi un utente per l'utente predefinito, mantiene un percorso codificato nell'area dei temi degli utenti originali, quindi stavo cercando di cambiare lo sfondo degli utenti originali in un'area comunemente disponibile.

Ho scoperto che devi inserire doppie barre rovesciate "\\" sul percorso, ad es. "C: \\ Users \\ ....." altrimenti la voce .reg viene ignorata!


0

Probabilmente non è la risposta per tutti in ogni caso, ma vale la pena escludere: è necessario disconnettersi e riconnettersi per rendere effettive le impostazioni. (Questo, come altri hanno notato, non aiuterà se stai combattendo un oggetto Criteri di gruppo, perché lo ripristinerà subito.)

Nella mia configurazione di Win7, stavo impostando HKEY_CURRENT_USER \ Control Panel \ Desktop \ Wallpaper su qualche immagine e questo non avrebbe fatto nulla sullo sfondo del desktop reale, anche se in Pannello di controllo -> Personalizzazione sembrerebbe che l'impostazione abbia preso piede. Questo mi stava facendo impazzire fino a quando mi sono reso conto che disconnettersi e riconnettersi avrebbe reso possibile il nuovo sfondo.

Aggiornamento 9/8: questo non risponde alla domanda dell'OP in quanto non utilizza solo il registro, ma come follow-up non ho mai trovato un modo soddisfacente per cambiare lo sfondo usando solo il registro. Se riesci a scrivere e distribuire un po 'di codice, ho scoperto che una chiamata a Win32 SystemParametersInfocon il SPI_SETDESKWALLPAPERflag ha reso lo sfondo immediatamente attivo senza il logout / login dance. Vedi questa risposta per i dettagli. Ancora una volta, non sarà di aiuto se stai combattendo un oggetto Criteri di gruppo per il controllo di tale impostazione.


Si menziona il problema di dover disconnettersi dall'utente per applicare l'impostazione, ma se lo si fa, l'oggetto Criteri di gruppo ha effetto ma non si fa menzione di come gestirlo.
Ramhound,

Spiacenti, ho cercato di menzionare nella mia risposta che ciò è utile solo quando non si dispone di GPO che sovrascrive l'impostazione.
user1454265

Inoltre, questo può o meno aiutare nella tua situazione, ma vale la pena di seguirlo: non ho mai trovato un modo soddisfacente per cambiare lo sfondo usando solo il registro. Ho finito per accontentarmi di una soluzione che utilizzava una chiamata Win32 a SystemParametersInfo. Vedi: stackoverflow.com/questions/1061678/...
user1454265

Aggiornato la mia risposta.
user1454265

Ramhound: ho aggiornato la mia risposta esattamente come richiesto, ma hai eliminato i tuoi commenti e convertito in un voto negativo. Possiamo parlarlo in chat? Sto onestamente cercando di essere d'aiuto qui con quel poco che posso contribuire.
user1454265

-1

Mi rendo conto che questo è vecchio. Ho comunque dovuto risolvere questo problema e il modo di farlo è un po 'subdolo.

Impostare la voce del Registro di sistema in modo che punti alle impostazioni desiderate, quindi impostare le autorizzazioni su di esse per consentire a tutti di leggere, ma impedire a chiunque (incluso il sistema) di disporre delle autorizzazioni per modificarlo.

Quando l'oggetto Criteri di gruppo va a elaborarlo, verrà negato l'accesso per quell'impostazione specifica e l'utente sarà quindi bloccato con le impostazioni desiderate.

Se il file si trova sul tuo sistema locale, non utilizzare lo stesso nome di file, a meno che tu non faccia anche questo trucco per l'immagine reale, altrimenti la politica potrebbe sovrascrivere il tuo file.


1
Forse ho bisogno di più caffè, ma non è questo il contrario di ciò che la domanda pone?
fixer1234,

... e in realtà non fornisce una soluzione, solo qualche spiegazione.
not2qubit
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.