web-dev-qa-db-fra.com

Changer le fond d'une machine Windows 7 en utilisant le registre

J'ai connecté ma machine à un groupe de travail. Les paramètres pour changer le papier peint sont dans la machine du serveur, de sorte que toute la machine aura le même papier peint. Maintenant, comment puis-je changer le fond d'écran de ma machine en utilisant le registre?

Après avoir lu quelques réponses,

J'ai créé Wall.reg avec le contenu suivant et créé un raccourci dans le dossier Start up afin que le fichier soit exécuté automatiquement.

Windows Registry Editor Version 5.00

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

Est-ce que je manque quelque chose? Ça ne marche pas :(

18
Rauf

Aller vers

HKEY_CURRENT_USER\Panneau de configuration\Bureau

et changer Fond d'écran la valeur de la clé en chemin complet de votre image.

9
thane

Je sais que c'est un vieux pas et Windows 7 est un système d'exploitation qui devient rapidement obsolète. Mais pour l’utilisateur occasionnel: cela fait des années que je traite avec ça dans mon magasin. Je suis assez proche du service informatique pour disposer de certains privilèges sur mon ordinateur portable, mais pas assez pour pouvoir ensuite cesser de fabriquer des GPO stupides qui - bien sûr - me concernent également.

Sur XP je suis certain que, sous Windows 7, il ne s'agit que d'une inspiration: ce type de modification du registre ne ( ne sera pas pris en compte jusqu'au vous redémarrez le système! Et puisque vous essayez de contourner un objet de stratégie de groupe, cela signifie "mission impossible" dans de nombreuses situations. Il existe cependant un moyen de forcer une mise à jour du registre à appliquer sans redémarrage ...

Le problème est le suivant: vous n'avez pas besoin de redémarrer, vous devez vider l'encombrement des paramètres de registre, ce qui fait partie du redémarrage .

Solution (sur XP au moins):

@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

Cela fonctionne bien pour moi sur ma machine XP, l'astuce étant la dernière ligne: exécutez "user32.dll, UpdatePerUserSystemParameters" dans le fichier bat. Cela prend la place d'un "redémarrage". :-)

Je l'ai mis dans le dossier Démarrer et ajouté une combinaison de touches de raccourci au fichier chauve-souris: Ainsi, mon ordinateur a démarré avec mon propre fond d'écran et lorsque le GPO est actualisé plusieurs fois au cours de la journée, appuyez sur la touche de raccourci et récupérez ma vue préférée (ce qui est infiniment plus joli que "l'écran noir de la dépression" qui est le stock de la société) ;-)

Je n'ai pas encore résolu le problème sur mon nouvel ordinateur portable (sous Windows 7), mais je suppose que quelqu'un peut être inspiré par ce comportement (XP) et faire des recherches plus poussées.

3
Hansjp

Pour ceux d’entre vous qui traitent toujours de XP cases, je laisse ma réponse précédente intacte.

Cependant, je peux maintenant partager une approche pour résoudre le problème sous Windows 7:

  1. Comme je l'ai dit précédemment, vous ne voulez pas redémarrer le PC, car vous êtes
    luttant contre une stratégie de groupe qui est appliquée au redémarrage (et dans mon
    cas personnel, toutes les quelques heures de la journée). Cependant, les modifications apportées à
    le registre a besoin d'une série de paramètres encaissés avant qu'ils ne deviennent
    actif. Un redémarrage fait ça.

Nous devons trouver un autre moyen d'atteindre l'objectif: "changer le fond d'écran d'une machine Windows ..." - je saute la partie "using-registry", car je ne pense pas que ce soit possible, et franchement, je ne pense pas que ce soit la bonne approche sous Windows 7! Il était sur XP - comme je l’ai indiqué dans ma réponse précédente.

Le mot magique est maintenant "Themepack" - et la connaissance magique est: "Il est exécutable!" Ce qu'il vous faut, c'est une méthode automatisée pour l'exécuter et gérer ses conséquences intégrées.

  1. J'utilise AutoHotkey version 1.1 ( http://ahkscript.org/ ) pour un certain nombre d'éléments de mon ordinateur portable, et si vous disposez des autorisations nécessaires pour En exécutant ce programme, vous êtes prêt à partir:
  2. (En supposant que vous ne fassiez rien d’autre avec AutoHotkey): Créez un fichier txt, nommez-le, mais attribuez-lui une extension de nom de fichier ".ahk" au lieu de ".txt", puis enregistrez-le dans le dossier Démarrage ("C:\Utilisateurs\ insérez votre nom d'utilisateur \AppData\Roaming\Microsoft\Windows\Menu Démarrer\Programmes\Démarrage "dans mon cas). Maintenant, il fonctionnera à chaque démarrage.

Éditez le fichier en utilisant Notepad ou un outil similaire: Insérez ces lignes:

    ; 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

Notez que non seulement je lance le code au démarrage, mais que je joins un raccourci clavier (LCTRL + LSHIFT + D), qui exécute cette partie du script à volonté.

Notez également la ligne de commande "WinWait": Mon système est danois, le titre de ma fenêtre de personnalisation est "Personlige indstillinger". Vous devez insérer ici le titre de la fenêtre sur votre propre système. Lisez les fichiers d’aide d’AHK pour savoir comment le faire, s’il n’est pas assez évident pour le deviner.

  1. Désormais, il ne vous reste plus qu'à personnaliser votre ordinateur portable Windows 7 une fois pour toutes (à moins qu'une stratégie de groupe ne vous empêche (utilisateurs) de changer des choses, vous pouvez toujours changer des choses). Lorsque vous êtes satisfait, enregistrez le Themepack résultant sur le chemin que vous avez indiqué dans le script ("C:\Laptop theme.themepack") et terminé .

  2. Remarque: Si vous ne pouvez rien enregistrer sur "C: \", vous pouvez placer le parc d’épiceries n’importe où - y compris dans vos dossiers d’utilisateur personnels. L'avantage est que vous conservez le script même lorsque le service informatique modifie votre ordinateur portable, à condition que celui-ci se charge de sauvegarder vos dossiers d'utilisateurs. Mon goût personnel est simplement de garder les choses courtes, et je n'aime pas me connecter à des partages réseau au démarrage si je peux l'aider. Ce que je peux.

2
Hansjp

Si le serveur contrôle votre papier peint via un GPO, vous devrez le réinitialiser à chaque fois que vous vous connecterez ou si le GPO sera mis à jour sur votre ordinateur.

Vous pouvez créer un fichier reg modifiant les valeurs correctement et l'enregistrer sur votre bureau. Ce processus à chaque ouverture de session vous donnerait le fond d'écran que vous souhaitez après chaque ouverture de session. Utilisez la clé de registre fournie par Thane et exportez la valeur correcte. Chaque fois que vous importez cela, le registre sera modifié à la valeur souhaitée.

Choses à considérer:

Êtes-vous en train de casser la politique informatique de l'entreprise?
Pouvez-vous modifier le registre? et créer des tâches de démarrage pour le faire? c'est-à-dire que vous avez les privilèges?
Vaut-il la peine?

1
Joe Taylor

Enregistrez simplement votre fond d'écran 'koala' sur le fichier de fond d'écran par défaut utilisé par votre stratégie.

1
MattPark

Ce n'est probablement pas la solution pour tout le monde dans tous les cas, mais cela vaut la peine de le dire: vous devez vous déconnecter et vous reconnecter pour que le paramètre prenne effet. (Comme d'autres l'ont déjà fait remarquer, cela ne va pas vous aider si vous vous battez contre GPO, car cela va le retarder.)

Sur ma configuration Win7, je définissais HKEY_CURRENT_USER\Panneau de configuration\Bureau\Papier peint sur une image. Cela ne ferait rien pour l’arrière-plan du bureau, mais dans le Panneau de configuration -> Personnalisation, le réglage aurait semblé prendre effet. Cela me rendait folle jusqu'à ce que je réalise que me déconnecter et rentrer ferait en sorte que le nouveau papier peint prenne racine.

Update 9/8: Cela ne répond pas à la question du PO car il n'utilise pas seulement le registre, mais en guise de suivi, je n'ai jamais trouvé de solution satisfaisante. pour changer le papier peint en utilisant seulement le registre. Si vous pouvez écrire et déployer du code, j'ai constaté qu'un appel Win32 à SystemParametersInfo avec l'indicateur SPI_SETDESKWALLPAPER faisait en sorte que le fond d'écran prenne effet immédiatement sans la déconnexion/connexion. Danse. Voir cette réponse pour plus de détails. Encore une fois, cela ne va pas vous aider si vous vous battez GPO pour le contrôle de ce paramètre.

0
user1454265

Je viens d'essayer cela. Lorsque vous copiez un utilisateur sur l'utilisateur par défaut, il conserve un chemin codé en dur vers la zone des thèmes des utilisateurs d'origine. J'essayais donc de modifier l'arrière-plan de l'utilisateur d'origine en une zone disponible.

J'ai trouvé que vous devez mettre des doubles barres obliques inverses "\\" sur le chemin, par exemple. "C: \\ Utilisateurs \\ ....." sinon l'entrée .reg est ignorée!

0
Darren Phillips