找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5228|回复: 30

[教程] 通过后台执行批处理实现改壁纸可用方法(亲测)

[复制链接]
发表于 2025-2-11 12:16:02 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2025-2-11 13:20:07 | 显示全部楼层
把一个图片手动设置为桌面图片很难很复杂吗?

点评

vaf
看环境, 有时 PE 下并非易事.  详情 回复 发表于 2025-2-11 13:42
回复

使用道具 举报

发表于 2025-2-11 13:36:27 | 显示全部楼层
  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的黑窗口?
回复

使用道具 举报

发表于 2025-2-11 13:42:16 | 显示全部楼层
wjqok 发表于 2025-2-11 13:20
把一个图片手动设置为桌面图片很难很复杂吗?

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

使用道具 举报

发表于 2025-2-11 13:44:52 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-2-11 14:04:29 | 显示全部楼层
本帖最后由 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');}"


保存为批处理格式运行

点评

哪个隔壁论坛,我试了还是不行是bat还是cmd  详情 回复 发表于 2025-2-11 16:08
回复

使用道具 举报

 楼主| 发表于 2025-2-11 16:08:19 | 显示全部楼层
2012sdta1541 发表于 2025-2-11 14:04
从隔壁论坛看到的,使用正常。

哪个隔壁论坛,我试了还是不行是bat还是cmd

点评

批处理格式,需要管理员模式运行。顶头加上这个试试  详情 回复 发表于 2025-2-11 17:13
reg query "HKCU\Control Panel\Desktop" /v WallPaper 看下结果  详情 回复 发表于 2025-2-11 16:24
回复

使用道具 举报

发表于 2025-2-11 16:24:05 | 显示全部楼层
j2rong 发表于 2025-2-11 16:08
哪个隔壁论坛,我试了还是不行是bat还是cmd

reg query "HKCU\Control Panel\Desktop" /v WallPaper
看下结果

点评

打开一下就闪退了呀。没有出现结果  详情 回复 发表于 2025-2-11 16:26
回复

使用道具 举报

 楼主| 发表于 2025-2-11 16:26:23 | 显示全部楼层
szwp 发表于 2025-2-11 16:24
reg query "HKCU\Control Panel\Desktop" /v WallPaper
看下结果

打开一下就闪退了呀。没有出现结果

点评

进cmd再运行  详情 回复 发表于 2025-2-11 16:44
回复

使用道具 举报

发表于 2025-2-11 16:44:11 来自手机 | 显示全部楼层
j2rong 发表于 2025-2-11 16:26
打开一下就闪退了呀。没有出现结果

进cmd再运行
回复

使用道具 举报

发表于 2025-2-11 16:55:11 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-2-11 17:13:03 | 显示全部楼层
本帖最后由 2012sdta1541 于 2025-2-11 17:58 编辑
j2rong 发表于 2025-2-11 16:08
哪个隔壁论坛,我试了还是不行是bat还是cmd

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

点评

为啥我win+r cmd 运行可用,然后保存为.bat 或者 cmd 桌面就变成全黑的  详情 回复 发表于 2025-2-11 17:58
回复

使用道具 举报

发表于 2025-2-11 17:21:17 | 显示全部楼层
不错,等大佬们测试好再用了
回复

使用道具 举报

发表于 2025-2-11 17:57:18 | 显示全部楼层
pecmd里面我记得有更换壁纸的命令

点评

pecmd wall %壁纸路径% 即刻生效,explorer工作时也能用  详情 回复 发表于 2025-3-12 22:36
回复

使用道具 举报

 楼主| 发表于 2025-2-11 17:58:13 | 显示全部楼层
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');}"

点评

批处理的编码格式修改为ANSI试试。  详情 回复 发表于 2025-2-11 18:00
回复

使用道具 举报

发表于 2025-2-11 18:00:20 | 显示全部楼层
本帖最后由 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)
::批处理已提权

点评

完美解决了,感谢大佬、原来是这个问题  详情 回复 发表于 2025-2-11 18:06
回复

使用道具 举报

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

完美解决了,感谢大佬、原来是这个问题,编码格式问题,没用上面那个提权就行了
回复

使用道具 举报

发表于 2025-2-11 23:53:33 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-2-11 23:53:53 | 显示全部楼层
下载试试
回复

使用道具 举报

发表于 2025-2-12 08:05:14 来自手机 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

发表于 2025-2-12 08:14:41 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

发表于 2025-2-12 09:01:33 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

发表于 2025-2-12 09:29:44 | 显示全部楼层
看看,谢谢楼主。
回复

使用道具 举报

发表于 2025-2-12 10:07:24 | 显示全部楼层
学习学习,感谢分享。
回复

使用道具 举报

发表于 2025-2-12 10:34:06 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-2-12 10:57:42 | 显示全部楼层
感谢分享好方法  已成功
回复

使用道具 举报

发表于 2025-2-12 14:10:39 来自手机 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-3-12 14:40:31 | 显示全部楼层
学习,谢谢各位。
回复

使用道具 举报

发表于 2025-3-12 22:36:55 | 显示全部楼层
kedion 发表于 2025-2-11 17:57
pecmd里面我记得有更换壁纸的命令

pecmd wall %壁纸路径%
即刻生效,explorer工作时也能用
回复

使用道具 举报

发表于 2025-3-12 23:06:58 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-5-29 02:42

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表