Alterar plano de fundo de uma máquina Windows 7 usando o Registro

18

Conectei minha máquina a um grupo de trabalho. As configurações para alterar o papel de parede estão na máquina do servidor, para que toda a máquina tenha o mesmo papel de parede. Agora, como posso alterar o papel de parede da minha máquina usando o registro?

Depois de ler algumas respostas,

Criei Wall.regcom o seguinte conteúdo e criei um atalho na Start uppasta, para que o arquivo seja executado automaticamente.

Windows Registry Editor Version 5.00

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

Estou faltando alguma coisa? Não está funcionando :(

Rauf
fonte
1
Tente usar barras duplas no caminho do papel de parede.
thane

Respostas:

9

Navegar para

HKEY_CURRENT_USER \ Painel de controle \ Área de trabalho

e altere o valor da chave do papel de parede para o caminho completo da sua imagem.

thane
fonte
9
E sempre que você fizer logon, o GPO redefinirá seu papel de parede para o original.
Joe Taylor
1
@ JoeTaylor - Não se, em vez de alterar o caminho, você encontrar o caminho e substituir a imagem pela imagem desejada, mas com o mesmo nome. :)
Suamere 17/07/2015
1
@ Suamere - Que, se estiver hospedado no servidor (o que deveria ser), seria impossível para um usuário normal.
21715 Joe Joe19:
3

Eu sei que este é um passo antigo, e o Windows 7 é um sistema operacional que está se tornando obsoleto. Mas para o usuário ocasional: eu lida com isso há anos na minha loja. Estou perto o suficiente da TI para ter certos privilégios no meu laptop, mas não o suficiente para parar de criar GPOs estúpidos que, é claro, também me afetam.

No XP, tenho certeza, no Windows 7, isso é apenas uma inspiração: esse tipo de alteração no Registro não terá efeito até você reiniciar o sistema! E como você tenta contornar um GPO, isso é igual a "missão impossível" em muitas situações. Há, no entanto, uma maneira de forçar uma atualização do Registro a ser aplicada sem reiniciar ...

A questão é: você não precisa reiniciar - você precisa liberar o cashe das configurações do Registro - que faz parte de uma reinicialização .

Solução (pelo menos no 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

Isso funciona (funcionou) bem para mim na minha máquina XP, o truque sendo a última linha: Execute "user32.dll, UpdatePerUserSystemParameters" como parte do arquivo bat. Isso substitui uma "reinicialização". :-)

Coloquei isso na pasta Iniciar e adicionei uma combinação de teclas de atalho ao arquivo bat: dessa maneira, meu PC começou com meu próprio papel de parede e, quando o GPO é atualizado algumas vezes durante o dia, pressionei a tecla de atalho e recupere minha visão preferida (que é infinitamente mais bonita que a "tela preta da depressão", que é o estoque da empresa) ;-)

Ainda não consegui corrigir isso no meu novo laptop (executando o Windows 7), mas acho que alguém por aí pode se inspirar nesse comportamento (XP) e pesquisar mais.

Hansjp
fonte
1
@ Ramhound - Bem, o voto negativo é um pouco precipitado, se você me perguntar! É claro que não - ainda não o teria dito - e não escrevi "Ainda não resolvi isso no meu novo laptop (executando o Windows 7), mas acho que alguém por aí pode se inspirar nisso. (XP) comportamento e pesquisa adicional. " Me deparei com esta página procurando por uma maneira de fazer isso na minha caixa de Win 7 ... e teve que tinha um pouco de paciência, você teria visto minha atualização para vir em seguida ...
Hansjp
Eu só excluídos os meus comentários para evitar pings desnecessários
Ramhound
2

Para aqueles de vocês que ainda lidam com caixas XP, deixo intacta minha resposta anterior.

No entanto, agora posso compartilhar uma abordagem para resolver o problema em uma caixa do Windows 7:

  1. Como eu disse antes, você não deseja reiniciar o PC, porque está
    enfrentando uma Diretiva de Grupo que é imposta na reinicialização (e no meu
    caso pessoal, a cada poucas horas do dia). No entanto, as alterações
    no registro precisam de um fluxo de configurações pagas antes de se tornarem
    ativas. Uma reinicialização faz isso.

Precisamos encontrar outra maneira de atingir o objetivo: "alterar o plano de fundo de uma máquina Windows 7" ... - pulo a parte "using-registry", porque acho que não é possível, e francamente, não acho que seja a abordagem correta no Windows 7! Ele estava no XP - como já afirmei na minha resposta anterior.

A palavra mágica agora é "Themepack" - e o conhecimento mágico é: "É executável!" O que você precisa é de um método automatizado de executá-lo e lidar com suas conseqüências incorporadas.

  1. Eu uso o AutoHotkey versão 1.1 ( http://ahkscript.org/ ) para várias coisas no meu laptop e, se você tiver as permissões necessárias para executar este programa, é recomendável:
  2. (Supondo que você não faça mais nada com a AutoHotkey): crie um arquivo txt, atribua um nome a ele, mas dê a ele uma extensão de nome de arquivo ".ahk" em vez de ".txt" e salve-o na pasta Inicialização ("C: \ Users \ insira seu nome de usuário \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização "no meu caso). Agora ele será executado em toda inicialização.

Edite o arquivo usando o Bloco de notas ou uma ferramenta similar: Insira estas linhas:

    ; 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

Observe que eu não apenas executo o código na inicialização, como também anexo uma tecla de atalho (LCTRL + LSHIFT + D), que executa esta parte do script à vontade.

Observe também a linha de comando "WinWait": meu sistema é dinamarquês; portanto, o título da minha janela de personalização é "Personlige indstillinger". Você precisa inserir aqui o título da janela em seu próprio sistema. Leia os arquivos de ajuda do AHK como fazer isso, se não for óbvio o suficiente para você adivinhar o que é certo.

  1. Agora, tudo o que resta é personalizar o seu laptop Windows 7 de uma vez por todas (a menos que uma diretiva de grupo impeça você (usuários) de mudar as coisas, você sempre poderá mudar). Quando estiver satisfeito, salve o Themepack resultante no caminho fornecido no script (ou seja, "C: \ Laptop theme.themepack") e pronto .

  2. Nota: Se você não conseguir salvar nada em "C: \", poderá colocar o pacote de temas em qualquer lugar - inclusive nas pastas pessoais do usuário. A vantagem disso é que você mantém o script mesmo quando o departamento de TI está mudando seu laptop - desde que eles se importem em fazer backup de suas pastas de usuário. Meu gosto pessoal é apenas manter as coisas curtas e não gosto de me conectar a compartilhamentos de rede durante a inicialização, se eu puder ajudar. O que eu posso.

Hansjp
fonte
1
E é claro ... o óbvio sempre se esconde à vista de todos! Você pode simplesmente salvar o Themepack na pasta Inicialização! ... Esse é o "autoexecute na inicialização" que você deseja. Acredito que, por regra, isso sempre será executado após os GPOs - é pelo menos no meu sistema. A única desvantagem: você precisa fechar manualmente a janela de configurações quando não fizer o script dessa parte. Mas isso evita o embaraço do AutoHotkey, então acho que vale a pena mencionar.
Hansjp
Então ... como criar um Themepack?
Emanuele Ciriachi
1
Você não pode deixar de ter um. O Windows cria um para você quando você inicializa o sistema operacional. Se você fizer alterações na imagem da área de trabalho, por exemplo, um "tema não salvo" aparecerá por si próprio. Tudo o que você precisa fazer é 1) salvá-lo para obter o arquivo e 2) copiar o arquivo para uma placering onde ele fica. Para encontrá-lo: clique com o botão direito na área de trabalho, escolha Configurações pessoais.
27418 Hansjp
1

Se o servidor controlar seu papel de parede por meio de um GPO, você deverá redefinir seu papel de parede sempre que fizer login ou o GPO for atualizado em sua máquina.

Você pode criar um arquivo reg modificando os valores corretamente e salvá-lo na área de trabalho, fazendo com que essa execução a cada logon forneça o papel de parede desejado após cada logon. Use a chave do Registro que Thane fornece e exporte o valor correto. Sempre que você importar isso, ele modificará o registro para o valor desejado.

Coisas a considerar:

Você está violando a política de TI da empresa fazendo isso?
Você pode modificar o registro? e criar tarefas de inicialização para fazer isso? ou seja, você tem privilégios?
Vale a pena o aborrecimento?

Joe Taylor
fonte
Eu posso editar o registro. Você pode me dar uma idéia de como posso criar um arquivo reg e tudo. ?
Rauf
Por favor, veja minha edição.
Rauf
Se você acabou de importar a chave do registro manualmente. ou seja, clicando duas vezes nele. Funciona?
Joe Taylor
Não. Não está funcionando.
Rauf
Eu definitivamente consideraria falar com seu departamento de TI sobre isso. existem várias configurações de GP que podem alterar / impedir que um usuário altere o papel de parede. se eles fizeram isso por um motivo, você pode se encontrar na água quente para mexer no registro e alterá-lo.
Joe Taylor
1

Apenas salve seu papel de parede 'koala' sobre o arquivo de papel de parede padrão que sua política está usando.

MattPark
fonte
Esse arquivo provavelmente não pode ser gravado no mundo e o OP não diz que ele possui privilégios administrativos.
G-Man diz 'Reinstate Monica'
Funcionou para mim, mas você está certo, pode não funcionar para ele.
MattPark
0

Acabei de tentar isso. Quando você copia um usuário para o usuário padrão, ele mantém um caminho codificado para a área de temas de usuários originais, então eu estava tentando alterar o plano de fundo dos usuários originais para uma área comumente disponível.

Eu achei que você precisa colocar barras duplas "\\" no caminho, ou seja. "C: \\ Users \\ .....", caso contrário, a entrada .reg será ignorada!

Darren Phillips
fonte
0

Provavelmente, não é a resposta para todos em todos os casos, mas vale a pena descartar: é necessário fazer logoff e logon novamente para que a configuração entre em vigor. (Como outros observaram, isso não ajudará se você estiver enfrentando o GPO, porque isso vai recuperá-lo.)

Na minha configuração do Win7, eu estava configurando HKEY_CURRENT_USER \ Control Panel \ Desktop \ Wallpaper para alguma imagem e isso não faria nada com o plano de fundo da área de trabalho real, embora no Painel de Controle -> Personalização parecesse que a configuração havia sido mantida. Isso estava me deixando louco até que eu percebi que sair e voltar faria o novo papel de parede se firmar.

Atualização 9/8: isso não responde à pergunta do OP, pois não usa apenas o registro, mas como acompanhamento, nunca encontrei uma maneira satisfatória de alterar o papel de parede usando apenas o registro. Se você pode escrever e implantar algum código, descobri que uma chamada do Win32 para SystemParametersInfoo SPI_SETDESKWALLPAPERsinalizador fazia com que o papel de parede entrasse em vigor imediatamente sem a dança de logout / login. Veja esta resposta para detalhes. Novamente, não ajudará se você estiver lutando contra o GPO pelo controle sobre essa configuração.

user1454265
fonte
Você menciona o problema de fazer logoff do usuário para aplicar a configuração. No entanto, se você fizer isso, o GPO terá efeito, mas não fará menção de como lidar com isso.
Ramhound 21/08/2015
Desculpe, tentei mencionar na minha resposta que isso só é útil quando você não tem o GPO substituindo a configuração.
User1454265
Além disso, isso pode ou não ajudar na sua situação, mas vale a pena prosseguir - nunca encontrei uma maneira satisfatória de alterar o papel de parede usando apenas o registro. Acabei decidindo sobre uma solução que usava uma chamada Win32 para SystemParametersInfo. Veja: stackoverflow.com/questions/1061678/…
user1454265 08/08/15
Atualizei minha resposta.
User1454265
Ramhound: Atualizei minha resposta exatamente da maneira que você solicitou, mas você excluiu seus comentários e converteu em um voto negativo. Podemos conversar no chat? Sinceramente, estou tentando ser útil aqui com o pouco que posso contribuir.
User1454265
-1

Eu sei que isso é velho. No entanto, tive que resolver esse problema, e a maneira de fazê-lo é um pouco sorrateira.

Defina a entrada do registro para apontar para as configurações desejadas e, em seguida, defina as permissões para permitir a leitura de cada uma, mas bloqueie qualquer pessoa (incluindo o sistema) de ter permissões para alterá-la.

Quando o GPO processa, ele recebe um acesso negado para essa configuração específica e, portanto, você fica com as configurações desejadas.

Se o arquivo estiver no seu sistema local, não use o mesmo nome de arquivo, a menos que você também faça esse truque para a imagem real, caso contrário, a política poderá substituir o arquivo.

Jean-Claude DeMars
fonte
1
Talvez eu precise de mais café, mas não é o oposto do que a pergunta faz?
Fixer1234
... e na verdade não fornece uma solução, apenas algumas explicações.
not2qubit