昨天弄到一套qq的动态表情包,这样的:

qq表情包

因为是用百度网盘分享的,所以随即下载了一个百度网盘。

对了如果有需要的通过小程序自取(可以保存到手机相册,然后添加到微信的表情包),在小程序的这个位置::

小程序

菜汪

但是出现了一个奇怪的问题,每次浏览电脑图片时,莫名发现百度网盘居然会启动!

后台偷偷启动的网盘

然后仔细观察了一下发现,右键菜单居然多了一个默认选项:

智能看图

说实话开始压根没有把他们联想起来,重复几次查看图片网盘重启后有点回过味了,于是开始一通找,找到选项如下:

智能看图

不得不说百度的产品经理真tm是个鬼才,居然还能想到这种方法来保证用户的活跃…

使用everything大概找了一下:

百度的图片预览

既然直到名称就好办了

写个脚本清除掉好了,新建文本文档重命名为remove_baidu_imageviewer.ps1这是一个powershell脚本,有对应的后缀名!对了我这个脚本比较激进,直接移除类似的文件和注册表、移除右键选项、还原默认图片打开方式、并创建了锁文件防止百度网盘再次生成。脚本比较激进!不确认会不会有其他影响,慎用!可参考!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<#
.SYNOPSIS
百度网盘“智能看图”功能一键清理脚本(当前用户)

.DESCRIPTION
- 杀掉相关进程
- 删除程序目录和缓存目录
- 删除注册表残留
- 清理“打开方式”列表中的智能看图条目
- 可选恢复图片默认打开方式
- 可选创建锁文件,阻止目录再次生成

.NOTES
请以管理员身份运行!
#>

# ------------------------ 配置区 ------------------------
# 是否恢复默认打开方式(默认 false)
$RestoreAssoc = $false

# 要恢复的扩展名和 ProgId (Win11 照片常见 ProgId,可能不同版本不同)
$ImageExts = '.jpg','.jpeg','.png','.gif','.bmp','.webp','.tif','.tiff','.heic'
$ProgId = 'AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9'

# 防止再次生成的目录(用“锁文件”占位)
$LockTargets = @(
(Join-Path $env:APPDATA 'baidu\BaiduNetdisk\module\ImageViewer')
# 如有需要可加入 Temp 缓存目录,但 Temp 本身会清理,不建议锁死
# (Join-Path $env:LOCALAPPDATA 'Temp\baidu\ImageViewer')
)

# OpenWith 清理时用于匹配的关键字
$Keywords = 'baidu','imageviewer','smartpic','bdimageviewer','baidunetdiskimageviewer'
# --------------------------------------------------------

Write-Host "========== 百度网盘“智能看图”卸载脚本 =========="
Write-Host "请确认以管理员身份运行..." -ForegroundColor Yellow
Write-Host

# 1. 结束相关进程
Write-Host "[1/6] 结束相关进程..."
taskkill /F /IM ImageViewer.exe 2>$null
taskkill /F /IM BaiduNetdisk*.exe 2>$null

# 2. 删除目录
Write-Host "[2/6] 删除程序目录..."
$DelPaths = @(
(Join-Path $env:APPDATA 'baidu\BaiduNetdisk\module\ImageViewer'),
(Join-Path $env:LOCALAPPDATA 'Temp\baidu\ImageViewer')
)
foreach ($p in $DelPaths) {
if (Test-Path $p) {
try {
Remove-Item -Recurse -Force $p
Write-Host " √ 删除: $p"
} catch {
Write-Warning " × 删除失败,请手动删除或确认无进程占用: $p"
}
} else {
Write-Host " (已不存在) $p"
}
}

# 3. 删除注册表项
Write-Host "[3/6] 删除注册表项..."
$RegToDelete = @(
'HKCR\BaiduNetdiskImageViewerAssociations',
'HKCU\Software\Baidu\BaiduNetdiskImageViewer',
'HKCU\Software\Baidu\BaiduNetdisk\ImageViewer',
'HKCU\Software\Classes\bdimageviewer',
'HKCU\Software\Classes\bdsmartpic',
'HKCU\Software\Classes\Applications\ImageViewer.exe',
'HKCU\Software\Classes\Applications\bdimageviewer.exe',
'HKCR\bdimageviewer',
'HKCR\bdsmartpic',
'HKCR\*\shell\BaiduSmartPic',
'HKCR\Directory\shell\BaiduSmartPic',
'HKCR\SystemFileAssociations\.jpg\shell\BaiduSmartPic'
)

foreach ($rk in $RegToDelete) {
reg delete "$rk" /f >nul 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host " √ 删除 $rk"
} else {
Write-Host " (不存在或已删除) $rk"
}
}

# HKCU\Software\RegisteredApplications\BaiduNetdiskImageViewer (删除值)
reg delete "HKCU\Software\RegisteredApplications" /v "BaiduNetdiskImageViewer" /f >nul 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Host " √ 删除 RegisteredApplications 中的 BaiduNetdiskImageViewer"
} else {
Write-Host " (不存在或已删除) RegisteredApplications 中的 BaiduNetdiskImageViewer"
}

# 4. 从打开方式列表剔除智能看图
Write-Host "[4/6] 清理“打开方式”列表中残留..."
foreach ($ext in $ImageExts) {
$base = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$ext"
$owList = Join-Path $base 'OpenWithList'
$owProg = Join-Path $base 'OpenWithProgids'

# OpenWithList
if (Test-Path $owList) {
$props = (Get-ItemProperty $owList).psobject.Properties |
Where-Object { $_.Name -match '^[a-z]$' } # a,b,c...
foreach ($p in $props) {
if ($p.Value -match ($Keywords -join '|')) {
Write-Host " [$ext] 移除 OpenWithList: $($p.Name)=$($p.Value)"
Remove-ItemProperty -Path $owList -Name $p.Name -Force
}
}
# 修复 MRUList
$mru = (Get-ItemProperty $owList -Name 'MRUList' -ErrorAction SilentlyContinue).MRUList
if ($mru) {
$valid = ($mru.ToCharArray() | Where-Object { Test-Path ("$owList\$_") }) -join ''
Set-ItemProperty -Path $owList -Name 'MRUList' -Value $valid -Force
}
}

# OpenWithProgids
if (Test-Path $owProg) {
$props = (Get-ItemProperty $owProg).psobject.Properties |
Where-Object { $_.Name -notmatch '^PS(Path|ParentPath|ChildName|Drive|Provider)$' }
foreach ($p in $props) {
if ($p.Name -match ($Keywords -join '|')) {
Write-Host " [$ext] 移除 OpenWithProgids: $($p.Name)"
Remove-ItemProperty -Path $owProg -Name $p.Name -Force
}
}
}
}

# 5. 可选恢复默认打开方式
if ($RestoreAssoc) {
Write-Host "[5/6] 恢复默认打开方式 -> $ProgId"
foreach ($ext in $ImageExts) {
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$ext\UserChoice"
if (Test-Path $path) { Remove-Item $path -Recurse -Force }
New-Item $path -Force | Out-Null
New-ItemProperty -Path $path -Name 'ProgId' -Value $ProgId -Force | Out-Null
}
}

# 6. 创建锁文件防止再次生成
Write-Host "[6/6] 创建锁文件防止目录再生..."
foreach ($t in $LockTargets) {
try {
if (Test-Path $t) {
if ((Get-Item $t).PSIsContainer) {
Remove-Item -Recurse -Force $t
} else {
attrib +R $t
Write-Host " (已存在锁文件) $t"
continue
}
}
New-Item $t -ItemType File -Force | Out-Null
attrib +R $t
Write-Host " √ Locked: $t"
} catch {
Write-Warning " × 无法锁定 $t:$($_.Exception.Message)"
}
}

Write-Host
Write-Host "========== 完成 =========="
Write-Host "建议重启资源管理器或重启电脑以确保所有更改生效。"
Write-Host "如仍在“打开方式”出现残留,可手动检查上述注册表路径或反馈我继续调整。" -ForegroundColor Yellow

运行后可以看到选项已删除:

右键中内容不再存在