无忧启动论坛

标题: 通过后台执行批处理实现改壁纸可用方法(亲测) [打印本页]

作者: j2rong    时间: 2025-2-11 12:16
标题: 通过后台执行批处理实现改壁纸可用方法(亲测)
本帖最后由 j2rong 于 2025-2-11 18:26 编辑

powershell -Command "& {Add-Type -TypeDefinition 'using System; using System.Runtime.InteropServices; public class Wallpaper { [DllImport(\"user32.dll\", CharSet = CharSet.Auto)] public static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni); public static void SetWallpaper(string path) { SystemParametersInfo(20, 0, path, 3); }}'; [Wallpaper]::SetWallpaper('C:\Users\Administrator\Desktop\重装\壁纸.jpg');}"

批处理的编码格式修改为ANSI,另存为.bat  就行 亲测这个可用,不黑屏。感谢@
2012sdta1541 大佬提供




2012sdta1541

作者: wjqok    时间: 2025-2-11 13:20
把一个图片手动设置为桌面图片很难很复杂吗?
作者: bfgxp    时间: 2025-2-11 13:36
  1. reg add "hkcu\control panel\desktop" /v wallpaper /d "C:\Windows\Web\Wallpaper\Windows\img0.jpg" /f
  2. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码


不明白为什么要套一层vbs,是不想看到cmd的黑窗口?
作者: vaf    时间: 2025-2-11 13:42
wjqok 发表于 2025-2-11 13:20
把一个图片手动设置为桌面图片很难很复杂吗?

看环境, 有时 PE 下并非易事.

作者: daimg2013    时间: 2025-2-11 13:44
感谢分享
作者: 2012sdta1541    时间: 2025-2-11 14:04
本帖最后由 2012sdta1541 于 2025-2-11 17:28 编辑

从隔壁论坛看到的,Windows11和10中使用正常。
@ECHO OFF&(PUSHD "%~DP0")&(REG QUERY "HKU\S-1-5-19">NUL 2>&1)||(
powershell -Command "Start-Process '%~sdpnx0' -Verb RunAs"&&EXIT)
::批处理已提权


::设置图片桌面
powershell -Command "& {Add-Type -TypeDefinition 'using System; using System.Runtime.InteropServices; public class Wallpaper { [DllImport(\"user32.dll\", CharSet = CharSet.Auto)] public static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni); public static void SetWallpaper(string path) { SystemParametersInfo(20, 0, path, 3); }}'; [Wallpaper]::SetWallpaper('C:\Users\Administrator\Desktop\重装\壁纸.jpg');}"


保存为批处理格式运行

作者: j2rong    时间: 2025-2-11 16:08
2012sdta1541 发表于 2025-2-11 14:04
从隔壁论坛看到的,使用正常。

哪个隔壁论坛,我试了还是不行是bat还是cmd
作者: szwp    时间: 2025-2-11 16:24
j2rong 发表于 2025-2-11 16:08
哪个隔壁论坛,我试了还是不行是bat还是cmd

reg query "HKCU\Control Panel\Desktop" /v WallPaper
看下结果
作者: j2rong    时间: 2025-2-11 16:26
szwp 发表于 2025-2-11 16:24
reg query "HKCU\Control Panel\Desktop" /v WallPaper
看下结果

打开一下就闪退了呀。没有出现结果
作者: szwp    时间: 2025-2-11 16:44
j2rong 发表于 2025-2-11 16:26
打开一下就闪退了呀。没有出现结果

进cmd再运行
作者: Sadlieh    时间: 2025-2-11 16:55
感谢分享
作者: 2012sdta1541    时间: 2025-2-11 17:13
本帖最后由 2012sdta1541 于 2025-2-11 17:58 编辑
j2rong 发表于 2025-2-11 16:08
哪个隔壁论坛,我试了还是不行是bat还是cmd

发帖少,不太熟悉。我以为复制代码到代码框不会出错,也没仔细检查代码。是我出错了。
现在直接贴出文本代码,应该可以了
隔壁论坛是某远。


作者: ningzhonghui    时间: 2025-2-11 17:21
不错,等大佬们测试好再用了
作者: kedion    时间: 2025-2-11 17:57
pecmd里面我记得有更换壁纸的命令
作者: j2rong    时间: 2025-2-11 17:58
2012sdta1541 发表于 2025-2-11 17:13
发帖少,不太熟悉。我以为复制代码到代码框不会出错,也没仔细检查代码。是我的错。
现在直接贴出文本代 ...

为啥我win+r cmd 运行可用,然后保存为.bat 或者 cmd  桌面就变成全黑的
powershell -Command "& {Add-Type -TypeDefinition 'using System; using System.Runtime.InteropServices; public class Wallpaper { [DllImport(\"user32.dll\", CharSet = CharSet.Auto)] public static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni); public static void SetWallpaper(string path) { SystemParametersInfo(20, 0, path, 3); }}'; [Wallpaper]::SetWallpaper('C:\Users\Administrator\Desktop\重装\壁纸.jpg');}"

作者: 2012sdta1541    时间: 2025-2-11 18:00
本帖最后由 2012sdta1541 于 2025-2-11 18:04 编辑
j2rong 发表于 2025-2-11 17:58
为啥我win+r cmd 运行可用,然后保存为.bat 或者 cmd  桌面就变成全黑的
powershell -Command "& {Add-T ...

批处理的编码格式修改为ANSI试试。如果还不行就是顶头的批处理提权不适合你的系统。可以修改以下试试:
@echo off&(cd/d "%~dp0")&(fltmc>nul)||(start "" mshta vbscript:CreateObject^("Shell.Application"^).ShellExecute^("%~snx0"," %*","","runas",1^)^(window.close^)&exit /b)
::批处理已提权


作者: j2rong    时间: 2025-2-11 18:06
本帖最后由 j2rong 于 2025-2-11 18:21 编辑
2012sdta1541 发表于 2025-2-11 18:00
批处理的编码格式修改为ANSI试试。如果还不行就是顶头的批处理提权不适合你的系统。可以修改以下试试:
...

完美解决了,感谢大佬、原来是这个问题,编码格式问题,没用上面那个提权就行了
作者: nianyueriPE    时间: 2025-2-11 23:53
谢谢分享
作者: nianyueriPE    时间: 2025-2-11 23:53
下载试试
作者: andylxh    时间: 2025-2-12 08:05
感谢楼主分享
作者: 享β亻寸木东    时间: 2025-2-12 08:14
感谢楼主分享

作者: wang1126    时间: 2025-2-12 08:19
谢谢楼主分享
作者: sulong    时间: 2025-2-12 09:01
谢谢楼主分享
作者: yzszh64    时间: 2025-2-12 09:29
看看,谢谢楼主。
作者: 忧心的启    时间: 2025-2-12 10:07
学习学习,感谢分享。
作者: yc2428    时间: 2025-2-12 10:34
谢谢分享
作者: promrhxq    时间: 2025-2-12 10:57
感谢分享好方法  已成功
作者: fegr    时间: 2025-2-12 14:10
谢谢分享
作者: yzszh64    时间: 2025-3-12 14:40
学习,谢谢各位。
作者: hzyry2046    时间: 2025-3-12 22:36
kedion 发表于 2025-2-11 17:57
pecmd里面我记得有更换壁纸的命令

pecmd wall %壁纸路径%
即刻生效,explorer工作时也能用
作者: cjy110    时间: 2025-3-12 23:06
感谢楼主分享!
作者: a20120227    时间: 2025-6-2 11:55
能否通过注册表修改背景为纯色




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3