通过命令行在win7中刷新壁纸

时间:2012-03-28 15:17:20

标签: windows windows-7 wallpaper

我想从命令行刷新Windows 7中的壁纸。 我通过reg.exe add设置壁纸。

rundll32.exe user32.dll,UpdatePerUserSystemParameters不起作用(使用1,True1,False

要求:

  1. 必须立即刷新壁纸(无需等待)
  2. 必须从命令行运行
  3. 首选默认的Windows 7命令行。编写c ++ / VB / C#程序是可以接受的,但不如默认的win7 cli解决方案好。

4 个答案:

答案 0 :(得分:1)

杀死资源管理器永远不是一个好主意,试试这个:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True

答案 1 :(得分:1)

至少在Windows 7 64位上,我发现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

答案 2 :(得分:0)

比我想象的要难。根据您的其他需求,您最终可能会重新启动资源管理器。

taskkill /IM explorer.exe /F
explorer.exe

如果您可以从命令行调用程序,还可以查看How to force Windows desktop background to update or refresh

答案 3 :(得分:0)

使用.bmp文件进行reg add效果更好

这需要用户多次执行rundll32吗?次

尝试简单的重命名转换 picture.jpeg-> picture.bmp