Обновить обои в win7 через командную строку - PullRequest
1 голос
/ 28 марта 2012

Я хочу обновить обои в Windows 7 из командной строки.Я устанавливаю обои через reg.exe add.

rundll32.exe user32.dll,UpdatePerUserSystemParameters не работает (с 1,True или 1,False)

Требования:

  1. Он должен обновлять обои немедленно (без ожидания)
  2. Он должен запускаться из командной строки
  3. Предпочтительной является командная строка Windows 7 по умолчанию.Написание программ на c ++ / VB / C # приемлемо, но не так хорошо, как стандартное решение win7 cli.

Ответы [ 4 ]

1 голос
/ 17 августа 2017

Убийство исследователя никогда не бывает хорошей идеей, попробуйте это:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True
1 голос
/ 27 октября 2017

По крайней мере в Windows 7 64-bit я обнаружил, что команда rundll32.exe работает, но только не каждый раз. У меня нет теории, почему, но мой обходной путь был .cmd файл, который вызывает его много раз. Это не элегантно, но работает каждый раз. В нашей среде мы запускаем его в фоновом режиме асинхронно и невидимо, поэтому тот факт, что он работает около 80 секунд, просто не имеет значения.

:: Do your stuff to apply the background .reg settings first
:: Then run UpdatePerUserSystemParameters many times
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True
timeout 1
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True
timeout 1
:: Etc. I have about 80 of them
0 голосов
/ 30 марта 2019

reg add лучше работает с использованием файлов .bmp

для этого требуется, чтобы пользователи запускали несколько rundll32? раз

попробуйте простое преобразование переименования picture.jpeg -> picture.bmp

0 голосов
/ 04 марта 2016

Тяжелее, чем я думал. В зависимости от ваших других потребностей вы можете перезапустить проводник.

taskkill /IM explorer.exe /F
explorer.exe

Если вы можете вызывать программу из командной строки, вы также можете посмотреть Как заставить фон рабочего стола Windows обновляться или обновляться

...