[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [巳解决]如何用vbs设置动态壁纸 ?

本帖最后由 807979023 于 2013-4-19 20:47 编辑

xp系统在C:\WINDOWS\Web\Wallpaper下有:  荷花.swf  荷花.htm

巳修改注册表: reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /d %windir%\Web\Wallpaper\荷花.htm /f

显示属性中巳选中“荷花”, 如何用vbs模拟下面的确定按钮,设置为当前壁纸 ?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

这个吧,vbs 可以发送回车符
  1. createobject("wscript.shell").sendkey "{endter}"
复制代码
bat 可以这样
  1. assoc .refresh=tmp&assoc .refresh=""
复制代码
记得以前 fastslz 提到过 rundll 调用 api 刷新桌面的方案,没记下来,现在找不到了...
1

评分人数

TOP

这是个难题,我搜索了好些时间,也不知道windows是怎么处理的

QQ 20147578

TOP

  1. rundll32.exe user32.dll,UpdatePerUserSystemParameters
复制代码
据说是一个未公开的API,可能在新版系统中会失效。
1

评分人数

    • CrLf: 好像就是这个,收藏...技术 + 1

TOP

本帖最后由 807979023 于 2013-4-19 20:45 编辑

巳解决:

set WshShell = Wscript.CreateObject("Wscript.Shell")
set a=CreateObject("WScript.Shell")
WshShell.Run "control desk.cpl"  '打开显示属性
Wscript.Sleep 500                '延时0.5秒
WshShell.SendKeys "^{tab}"       '向右打开桌面选项
WScript.Sleep 100                '延时0.1秒
a.SendKeys "{ENTER}"             '按下回车键

感谢2楼4楼
2楼代码不错,很精简。4楼代码未试。

TOP

过于依赖 sendkey 不太靠谱,能用精确的办法还是避免用 sendkey 比较好:
  1. rundll32.exe shell32.dll,Control_RunDLL  desk.cpl,,0
复制代码
按确定是没办法,这个只好 sendkey 了

TOP

返回列表