首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ParSec篡改Windows桌面背景(壁纸,Wallpaper)的解决办法

ParSec篡改Windows桌面背景(壁纸,Wallpaper)的解决办法

原创
作者头像
Windows技术交流
修改2024-08-22 20:23:48
修改2024-08-22 20:23:48
7750
举报
文章被收录于专栏:Windows技术交流Windows技术交流

有些软件比如ParSec可能篡改桌面背景,改了后无法在个性化里修改,按钮灰的,点不了,如下图

经过研究发现ParSec安装过程中会篡改桌面背景(壁纸,Wallpaper)相关注册表

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\

CurrentWallpaperPath

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\

Wallpaper

WallpaperStyle

解决办法:配置组策略,禁用“阻止更改桌面背景”,删除HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\下面的Wallpaper,然后重启explorer进程,然后桌面右键→ 个性化→ 重新设置壁纸即可。

代码语言:txt
复制
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\" /v "Wallpaper" /f 2>$null
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\" /v "CurrentWallpaperPath" /f 2>$null

如果有云游戏的需求,可参考这个方案:https://blog.soreatu.com/posts/cloud-gaming/ GPU企业卡+Grid驱动+ParSec串流

如果不想桌面背景被篡改,那就把脚本里wallpaper部分的代码注释下

我参考这个文档买了硅谷的GN7vw(虽然不用配全局代理了,文档里的脚本得调整下),用2022grid公共镜像执行这个方案报错,方案只适用2016/2019系统,对GN7vw来说,只能是2019grid公共镜像

这个方案的脚本是有bug的,其中C:\Program Files\Parsec\vigem\10\x64\devcon.exe 这个路径不存在

在执行方案前需要先安装devcon.exe命令并替换文件路径,否则就会报错https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool/issues/102

github脚本:https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool/

脚本需要优化

在执行脚本前,需要打开IE浏览器(iexplore.exe)完成一下IE初始化,也就是把打开后的弹窗交互一下直至完成(不是简单的X掉弹窗)

IE初始化完成后,分如下2段复制粘贴执行(测试了2016/2019/2022均OK)

代码语言:txt
复制
cd C:\
wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/115.159.148.149/devcon.exe -outfile c:\windows\devcon.exe

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
$ScriptWebArchive = "https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool/archive/master.zip"
$LocalArchivePath = "C:"
(New-Object System.Net.WebClient).DownloadFile($ScriptWebArchive, "C:\ParsecTemp.zip")
Expand-Archive "C:\ParsecTemp.zip" -DestinationPath C:\ -Force
#Rename-Item -Path "C:\Parsec-Cloud-Preparation-Tool-master\" -NewName "C:\ParsecTemp\"
cmd.exe /c mklink "C:\ParsecTemp" "C:\Parsec-Cloud-Preparation-Tool-master\"  /D 2>$null

cd $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\PostInstall

#查找.\PostInstall.ps1中的"set-wallpaper";替换为#"set-wallpaper";
# 读取文件内容
$content1 = Get-Content -Path .\PostInstall.ps1
# 替换文本
$content1 = $content1 -replace '"set-wallpaper";', '#"set-wallpaper";'
# 将修改后的内容写回文件
$content1 | Set-Content -Path .\PostInstall.ps1
代码语言:txt
复制
#$content2 = Get-Content -Path .\PostInstall.ps1
#$content2 = $content2 -replace '"setupEnvironment";', '"setupEnvironment" 2>&1 >$null;'
#$content2 | Set-Content -Path .\PostInstall.ps1

$content3 = Get-Content -Path .\PostInstall.ps1
$content3 = $content3 -replace 'C:\\Program Files\\Parsec\\vigem\\10\\x64\\devcon.exe', 'C:\windows\devcon.exe'
$content3 | Set-Content -Path .\PostInstall.ps1

mkdir C:\ParsecTemp\Apps\ -force
wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/115.159.148.149/devcon.exe -outfile C:\ParsecTemp\Apps\devcon.exe

mkdir C:\ParsecTemp\Devcon\ -force
wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/115.159.148.149/devcon.exe -outfile C:\ParsecTemp\Devcon\devcon.exe

mkdir C:\ParsecTemp\Drivers\ -force
$desktopPath = [Environment]::GetFolderPath('Desktop')
$linkPath = Join-Path -Path $desktopPath -ChildPath "ParsecTemp"
$targetPath = "C:\ParsecTemp\"
cmd.exe /c mklink /D "$linkPath" "$targetPath"

#cd $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\PreInstall
#$content4 = Get-Content -Path .\NetworkRestore.ps1
#$content4 = $content4 -replace 'C:\\ParsecTemp\\Apps\\devcon.exe', 'C:\windows\devcon.exe'
#$content4 | Set-Content -Path .\NetworkRestore.ps1

#cd $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\PreInstall
#$content5 = Get-Content -Path .\Clear-Proxy.ps1
#$content5 = $content5 -replace 'C:\\ParsecTemp\\Devcon\\devcon.exe', 'C:\windows\devcon.exe'
#$content5 | Set-Content -Path .\Clear-Proxy.ps1

cd $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\PostInstall
$content6 = Get-Content -Path .\PostInstall.ps1 -Raw
$content6 = $content6 -replace 'Remove-Item -Path \$path\\ParsecTemp -force -Recurse', 'cmd.exe /c rmdir "$path\ParsecTemp"'
$content6 | Set-Content -Path .\PostInstall.ps1

powershell.exe .\PostInstall.ps1 -DontPromptPasswordUpdateGPU

注意事项:在执行脚本前,需要打开IE浏览器完成一下IE初始化,也就是把打开后的弹窗交互一下直至完成(不是简单的X掉弹窗),否则会报错:Invoke-WebRequest : 无法分析响应内容,因为 Internet Explorer 引擎不可用,或者 Internet Explorer 的首次启动配置不完整

桌面的GPU Updater无用,如果不小心点开了,直接N

服务端处理好后,注册ParSec账号,在服务端登录ParSec账号,然后在客户端机器上安装ParSec

https://builds.parsec.app/package/parsec-windows.exe

https://builds.parsec.app/package/parsec-macos.pkg

安装好后也登录同一ParSec账号,这样就能在客户端连上服务端了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档