如何使用 .bat 更改桌面壁纸
Posted
技术标签:
【中文标题】如何使用 .bat 更改桌面壁纸【英文标题】:How to change the wallpaper desktop with .bat 【发布时间】:2017-06-14 04:46:58 【问题描述】:我正在尝试在 .bat 中使用此命令更改壁纸桌面:
@echo off
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d c:\images\bella.jpg
但不工作。
这个想法是有一组图像并改变用户的背景
【问题讨论】:
看看this能不能帮上忙。 你能format your code吗? How to change wallpaper using batch的可能重复 快速搜索发现lot of question with the same topic 【参考方案1】:您可以使用一个小的 .exe 文件来执行此操作。我会给你一个 exe 的下载链接,在 zip 文件夹中还有一个 README 文件,它会告诉你如何使用它。
下载链接: https://mega.nz/#!dAxlSZJT!C6JCrXQUVgnFv9Ez0hqRMG1UkcPFHIEJOJYMV1Ezlxw
病毒总扫描: https://www.virustotal.com/en/file/a9b015a25360cd46b4f8a5631d0eef347f564da04b5a99d77172efeb8952925a/analysis/1485629946/
【讨论】:
【参考方案2】:这对我有用:
<!-- : --- Self-Elevating Batch Script ---------------------------
@whoami /groups | find "S-1-16-12288" > nul && goto :admin
set "ELEVATE_CMDLINE=cd /d "%~dp0" & call "%~f0" %*"
cscript //nologo "%~f0?.wsf" //job:Elevate & exit /b
-->
<job id="Elevate"><script language="VBScript">
Set objShell = CreateObject("Shell.Application")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWshProcessEnv = objWshShell.Environment("PROCESS")
strCommandLine = Trim(objWshProcessEnv("ELEVATE_CMDLINE"))
objShell.ShellExecute "cmd", "/c " & strCommandLine, "", "runas"
</script></job>
:admin -----------------------------------------------------------
:: administrator commands here
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d "c:\images\bella.jpg"
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
exit
此代码的某些部分不是由我创建的。此批处理脚本运行注释后的所有命令:administrator commands here
作为管理员,并使用此路径查找图像:c:\images\bella.jpg
如果此脚本不起作用,请验证路径。
我不认为这适用于 vista。
在 win 7 和 8 上测试。
【讨论】:
您使用的是什么操作系统?此代码不适用于我的 Windows 10。老实说,我怀疑它是否适用于自 XP 以来的 任何 Windows 操作系统。以上是关于如何使用 .bat 更改桌面壁纸的主要内容,如果未能解决你的问题,请参考以下文章