Alterando o segundo plano da área de trabalho dependendo da hora do dia por meio do script Windows 8.1

1

Olá, é a primeira vez que uso este site, então espero não estar fazendo a pergunta no formato errado.

De qualquer forma, como o título diz, tenho um problema semelhante para um tópico que foi respondido há algum tempo que tinha a resposta, mas não funcionaria para o meu computador que está executando o windows 8.1 quando eu tentei executá-lo para teste isso. Tenho certeza que segui as instruções alterando o caminho para onde a imagem está localizada e fiquei me perguntando o que eu teria que mudar para que funcionasse ou se o código está perfeitamente bem e eu provavelmente apenas bagunçarei em algum lugar.

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

Eu também testei o código original , mas acabei recebendo um erro dizendo que o sistema Não é possível encontrar o arquivo especificado na última linha de código.

Qualquer ajuda será apreciada!

    
por Snowstorm 14.08.2014 / 05:41

1 resposta

0

Esta é uma resposta ruim e não deve ser usada:

Este script emula clique com o botão direito na figura e pressione "Definir como plano de fundo da área de trabalho". O uso de script deve estar desobstruído SetWallPaper "directory to picture", "filename of picture", "name context menu to run" .

'File encoding should be in ANSI
SetWallPaper "C:\icons\", "Potato-icon.png", "Set as desktop &background"

Sub SetWallPaper(WallPaperFolder, WallpaperFile,VerbName)
dim objShell, objFolder, objFolderItem, objVerb, colVerbs
Set objShell = CreateObject("Shell.Application")
set objFolder=objShell.NameSpace(WallPaperFolder)
set objFolderItem=objFolder.ParseName(WallPaperFile)
set colVerbs=objFolderItem.Verbs
for each objVerb in colVerbs
    'msgbox objVerb ,0, "Press CTRL+C for copy text" 'uncomment for debug names in contextmenu
    if objVerb=VerbName then
        'x=msgbox(objVerb ,0, "omg found")
        objVerb.DoIt
        'Without the sleep command the change never takes effect on Win7.
        wscript.sleep(2000)
        wscript.quit
    end if
next
End Sub

Se o seu Windows tiver um nome diferente para "definir como plano de fundo da área de trabalho", clique com o botão direito na imagem:

  • Você deve remover o comentário da linha (remover aspas simples) após para cada objVerb em colVerbs
  • Em seguida, execute o script e encontre (ENTER para o próximo message) equal string "Definir como desktop e segundo plano" para o seu idioma, pressione CTRL + C para salvar a mensagem.
  • Abra o bloco de notas e pressione CTRL + V para que a mensagem seja colada. Copie este nome para o script.

com base em isto

Se você não cometer erros, funcionará pelo menos no Windows 7.

    
por 14.08.2014 / 10:10