BGInfo é a resposta que tenho medo! Eu uso um pouco de vbscript funky que permite que você selecione a resolução de papel de parede à direita e, em seguida, executa BGInfo usando um arquivo de configuração para colocar as informações no lugar certo. O script está abaixo e você pode modificá-lo para seus requisitos:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:\.\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * From Win32_DisplayConfiguration")
Const OverwriteExisting = TRUE
' Determine the size of the desktop
For Each objItem in colItems
X = objItem.PelsWidth
Y = objItem.PelsHeight
Next
WScript.Echo "X:" & X
WScript.Echo "Y:" & Y
StrPath = "c:\bginfo\"
strRightSizeBMP = StrPath & "wallpaper" & X & "x" & Y & ".bmp"
WScript.Echo strRightSizeBMP
' Location and Name of Wallpaper
WinPath = "c:\bginfo\wallpaper.bmp"
' Copy Wallpaper for correct Screen Resolution to correct location
objFSO.CopyFile strRightSizeBMP, "c:\bginfo\wallpaper.bmp", OverwriteExisting
' Check for a temp file. If it exists, this script has run before on this PC, therefore we quit.
Set objWMIService = GetObject("winmgmts:\.\root\cimv2")
Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile WHERE Path = '\bginfo\' AND Drive = 'C:' AND FileName = 'wallpaper' AND Extension = 'bmp'")
If colFiles.Count =1 Then WScript.Echo "c:\bginfo\wallpaper.bmp exists"
If colFiles.Count < 0 Then
objFSO.CopyFile strRightSizeBMP, "c:\bginfo\wallpaper.bmp", OverwriteExisting
End If
Set objShell = CreateObject("Wscript.Shell")
objShell.Run("c:\comet\bginfo.exe c:\bginfo\bginfo-cfg.bgi /TIMER:0 /SILENT /NOLICPROMPT"), 1, TRUE
Você deve salvar o script em c: \ bginfo \ e também enviar os seguintes arquivos para este diretório:
bginfo.exe
bginfo-cfg.bgi (criado usando bginfo com sua configuração específica)
wallpaperYYYYxZZZZ.bmp (onde Y e Z são as resoluções - por exemplo, wallpaper800x600.bmp)
Você precisará criar um papel de paredeYYYYxZZZZ.bmp para cada resolução que quiser apoiar.
Por fim, basta adicionar o caminho completo ao script no script de logon ou na chave de registro RUN.