标题: [问题求助] [巳解决]如何用vbs设置动态壁纸 ? [打印本页]
作者: 807979023 时间: 2013-4-15 07:47 标题: [巳解决]如何用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模拟下面的确定按钮,设置为当前壁纸 ?
作者: CrLf 时间: 2013-4-19 16:58
这个吧,vbs 可以发送回车符- createobject("wscript.shell").sendkey "{endter}"
复制代码
bat 可以这样- assoc .refresh=tmp&assoc .refresh=""
复制代码
记得以前 fastslz 提到过 rundll 调用 api 刷新桌面的方案,没记下来,现在找不到了...
作者: czjt1234 时间: 2013-4-19 19:55
这是个难题,我搜索了好些时间,也不知道windows是怎么处理的
作者: powerbat 时间: 2013-4-19 20:10
- rundll32.exe user32.dll,UpdatePerUserSystemParameters
复制代码
据说是一个未公开的API,可能在新版系统中会失效。
作者: 807979023 时间: 2013-4-19 20:35
本帖最后由 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楼代码未试。
作者: CrLf 时间: 2013-4-19 21:41
过于依赖 sendkey 不太靠谱,能用精确的办法还是避免用 sendkey 比较好:- rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
复制代码
按确定是没办法,这个只好 sendkey 了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |