win10怎么用DOS命令修改桌面,或者有对应的API吗?

刘地 发布于 2015/09/27 22:37
阅读 2K+
收藏 0

我只找到xp的dos写法,已经不能用了。在注册表里搜索到如下一条:

value=@C :\WINDOWS\system32\stobject.dll,-417 

key=设置为桌面背景(&B)

我打算用个小程序定时修改桌面背景,但是找不到办法,所以求教大家,不管是命令行或者API都好。

谢谢啊!!

加载中
1
democracy
democracy

http://superuser.com/questions/277805/how-do-i-set-the-desktop-background-on-windows-from-a-script

这个有用么?linux下也没法测...

0
幻视Vision
幻视Vision

参考资料


PowerShell 技能连载 - 更改桌面背景

 http://blog.vichamp.com/powershell/tip/2014/01/10/change-desktop-wallpaper/


0
刘地
刘地

引用来自“快银闪电侠”的评论

参考资料


PowerShell 技能连载 - 更改桌面背景

 http://blog.vichamp.com/powershell/tip/2014/01/10/change-desktop-wallpaper/


 谢谢啊,这个可以用,虽然即使用子进程仍然会有一个窗口闪跳出来又闪跳回去有点不好。
幻视Vision
幻视Vision
网上有隐藏窗口的VBS代码。放到VBS里执行就可以隐藏掉弹窗了。
0
刘地
刘地

引用来自“democracy”的评论

http://superuser.com/questions/277805/how-do-i-set-the-desktop-background-on-windows-from-a-script

这个有用么?linux下也没法测...

这个不行啊,还是XP的。
0
幻视Vision
幻视Vision

用Java更换Windows桌面壁纸


http://xpenxpen.iteye.com/blog/2178860 

这篇文章应该也能起到帮助。


0
幻视Vision
幻视Vision

我对比了注册表项,win10 和XP的大致没有什么区别。

  1. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters 
  2. 在注册表改桌面的背景后,运行上面的命令是可以马上刷新的。


参考资料 

[已解决]批处理如何按月更换jpg格式的桌面背景壁纸?

 http://bbs.bathome.net/viewthread.php?tid=3345#pid21158

0
刘地
刘地

引用来自“快银闪电侠”的评论

我对比了注册表项,win10 和XP的大致没有什么区别。

  1. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters 
  2. 在注册表改桌面的背景后,运行上面的命令是可以马上刷新的。


参考资料 

[已解决]批处理如何按月更换jpg格式的桌面背景壁纸?

 http://bbs.bathome.net/viewthread.php?tid=3345#pid21158

我也不知道,XP的那个reg add在我这里执行不了
幻视Vision
幻视Vision
贴代码罗。要不么你就直接用别代码。
0
刘地
刘地

@快银闪电侠

@echo off 
set regadd=reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System"
%regadd%" /v TileWallpaper /d "0" /f 
%regadd%" /v Wallpaper /d "C:\6.jpg" /f
%regadd%" /v WallpaperStyle /d "2" /f 
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters 
exit

幻视Vision
幻视Vision
是HKCU\Control Panel\Desktop
幻视Vision
幻视Vision
才注意到你注册表路径都错了。
刘地
刘地
回复 @快银闪电侠 : 从网上搜到的这个写法,不是我有本事这么写啊
幻视Vision
幻视Vision
不熟悉批处理就不要用变量。一行行写。加puase看代码执行结果。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部