Alterar papel de parede dependendo da hora do dia via script ou arquivo de lote?

9

Eu quero ter dois papéis de parede diferentes que mudam de acordo com a hora do dia (6 e 22 horas, respectivamente) e só quero exibir a noite um após 22 horas e o dia um somente após 6 horas e até 22 horas. p>

Não encontrei um programa que pudesse fazer isso depois de um standby, por isso achei que seria fácil perceber com o agendador de tarefas executando um script. Agora, a questão não é apenas como realizar tal script, mas também se o script deve incluir a verificação de tempo ou o agendador de tarefas. Eu não tenho certeza do que funcionaria melhor com os longos períodos em que o PC está em standby.

Já experimentei alguns scripts de perguntas semelhantes e esperava poder modificá-los para as minhas necessidades, mas eles não funcionaram.

Alguém pode me ajudar? TIA.

    
por Patrick 14.06.2012 / 21:54

5 respostas

5

Isso é realmente muito simples:

  1. Clique com o botão direito no plano de fundo da área de trabalho
  2. Selecione "Personalizar"
  3. Clique em "Plano de fundo da área de trabalho"
  4. Arraste e solte as imagens na caixa ou selecione "Procurar" e encontre a (s) imagem (ns)
  5. Verifique as duas imagens para garantir que a primeira seja a primeira
  6. Aguarde até às 12:00 e selecione "Alterar imagem a cada 12 horas"
  7. Aproveite!
por 19.08.2012 / 18:14
5

Use o agendador de tarefas e crie um VBscript para alterar o papel de parede. Crie um script para cada papel de parede que você pretende usar.

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

Salve o arquivo como algo.vbs e adicione-o ao agendador de tarefas e voila! Você tem tudo funcionando.

Também foi mencionado que ele não mudaria o papel de parede se você tivesse o computador desligado no momento em que ele mudasse. Isso está errado, já que a tarefa pode ser configurada para ser executada na primeira inicialização após o horário selecionado, portanto, ela será definida assim que você iniciar o computador, mesmo que ele esteja desativado durante o tempo em que ele deveria ter sido alterado. Para configurar isso, vá para as propriedades de tarefas específicas e na guia de configurações. Marque a segunda caixa na janela e vá embora.

EstescriptfuncionaperfeitamenteparamimnoWindows8.Porfavor,notecomoeumodifiqueioscriptoriginalumpoucoparatornaroscriptmaiscurto.

Fonte: link

    
por 17.04.2013 / 20:06
1

Toda vez que vejo alguém perguntando sobre fazer algo em um horário específico ou periodicamente no Windows, me apóie a ideia de usar o Windows Task Scheduler

Parafazeroquevocêpretendefazer,vocêdevecriarduastaks,cadaumadelasprogramadaparaexecutarumscriptoucomandoparamudardeumparaoutropapeldeparedenohorárioespecíficoquevocêdeseja.EssescomandosdevemsercapazesdealterarautomaticamenteoseupapeldeparededoWindows,eamaneiramaisfácildefazerissoéusandooRegistrodoWindows.Aquivocêpodeencontraro COMO FAZER: Alterar o Papel de Parede da Área de Trabalho com o registro de folowing chave:

HKEY_CURRENT_USER\Control Panel\Desktop\WallPaper

Portanto, crie suas tarefas definindo os valores para seu registro e você poderá alterá-las automaticamente sem precisar instalar aplicativos de terceiros.

    
por 14.06.2012 / 22:47
1

Eu estava querendo fazer isso por um bom tempo, depois voltei ao tópico enquanto alterava a configuração de volta para o jeito que eu gosto, depois da reinstalação do sistema operacional.

Após examinar o projeto, encontrei o arquivo de configuração da apresentação de slides (% APPDATA% / Microsoft / Windows / Themes / slideshow.ini). Este arquivo contém uma linha "ImagesRootPIDL=" que, após um pouco de googling, indica que a seguinte grande string de letras, números e símbolos está no infact, um "PCIDLIST_ABSOLUTE uuencoded" aparentemente esta é uma maneira de localizar um diretório no windows em um nível mais baixo do que usar um caminho.

De qualquer maneira, parece que esse arquivo muda quando uma imagem é adicionada ao diretório para a apresentação de slides ou quando a apresentação de slides é alterada para um novo diretório. Então, minha solução foi escrever um arquivo de lote duas vezes ao dia, dependendo da variável% TIME%, copiar o arquivo .ini de cada uma das minhas apresentações para minha pasta de configuração e anexá-las de dia ou de noite e substituir o arquivo .ini pasta de temas com o arquivo .ini de apresentação de slides apropriado.

A única desvantagem da minha solução é que, agora tenho um arquivo em lote em execução o tempo todo, embora eu ache que uma tarefa agendada seria uma implementação melhor e cuido desse problema, gosto de construir coisas que realmente interagem com eles mesmos. Até agora, isso não precisou de nenhuma reinicialização, do computador ou do explorador para alternar entre as apresentações de slides, ele simplesmente passa para a próxima apresentação de slides após o término do tempo entre os slides. Eu não tentei fazer isso falhar ainda, mas executá-lo por duas semanas parece um período de depuração suficiente para mim.

Sou bastante novo no sistema operacional Windows, por isso peço desculpas se isso contiver muitas declarações óbvias ou se for fácil fazê-lo clicando algumas vezes. Eu acho que esse tipo de coisa é a maneira mais rápida de aprender o funcionamento interno do sistema operacional, embora eu ache que poderia ter escrito isso em cerca de cinco linhas em um script bash do Linux, em vez dos quarenta e tantos colossos de lote de linhas estranhas.

    
por 08.05.2013 / 07:52
0
Infelizmente eu não acho que há nada embutido no Windows que permita que você faça isso sem precisar realmente fazer logout e log in novamente. Desde que os papéis de parede podem ser controlados através do registro, você pode construir um arquivo de lote para modificar a entrada do registro - mas as alterações no papel de parede em si não seriam vistas até você sair e voltar. Você pode tentar um aplicativo de terceiros como: link

Espero que isso ajude.

    
por 14.06.2012 / 22:23