1

Я искал в сети пакетное решение для изменения фона рабочего стола Windows 7 Ultimate 64 бит, и после нескольких попыток я мог заставить его работать только один раз, но никогда больше ...

Я использую это:

SET "str=C:\Users\Jorge\Dropbox\Photos\Wallpapers\1379362257639.jpg"
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d %str%
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

В окне "Costumize" после этого я вижу новый фон, но рабочий стол не обновляется ... почему? Кроме того, я подтвердил, что ключ реестра также изменяет путь к картинке, и я пробовал расширение bmp.

Странная часть: если я запускаю его несколько раз, он, наконец, случайно меняется (на правильное изображение, но случайно ...), я не знаю почему?

Редактировать: Кажется, после того, как 3/4-й раз запустить тот же код, в конце концов он меняется ..?

2 ответа2

1

Должен

SET "str=C:\Users...

Быть

SET str="C:\Users...

?

0

Я обнаружил, что у меня не было шансов выполнить это идеально, используя только командный файл ... насколько я знаю о пакетном режиме, поэтому я использовал vb.net, чтобы вывести функцию SystemParametersInfo следующим образом:

Const SPI_SETDESKWALLPAPER As UInteger = &H14
Const SPIF_SENDCHANGE As UInteger = &H2

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "IMAGE_PATH", SPIF_SENDCHANGE)

Примечание: в этом случае изображение не обязательно должно быть bmp, я протестировал с jpg, и он работал нормально. В моем случае нет проблем с использованием vb.net для этого, надеюсь, я кому-нибудь помог;).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .