每次装完系统,我做的第一件事都是把默认看图程序换掉。

Win10 之后微软把默认的图片查看器换成了 UWP 版的「照片」应用。双击一张图,转圈,等两三秒,然后弹出一个带侧边栏的界面,还时不时提示登录微软账号。我要的只是双击能立刻看到图。

其实微软并没有把老的照片查看器删掉。C:\Program Files\Windows Photo Viewer\photoviewer.dll 从 Win7 一直留到现在,Win11 24H2、LTSC 2024 上也都在。它只是被从默认关联里摘了出去——程序还在,只是没人认得它了。

网上那些「一键恢复」的 .exe 工具我不太想用:为了几条注册表去装个来路不明的可执行文件不划算,而且它们大多写 HKLM/HKCR,要管理员权限、影响所有用户,出了问题也不好回滚。下面这份注册表全程只写 HKEY_CURRENT_USER,只影响当前用户,不需要管理员权限,不想要了删掉对应的键就行。

用法

新建一个文本文档,把下面内容整个复制进去,另存为 恢复照片查看器.reg(保存类型选「所有文件」,编码 ANSI 或 UTF-8 都行,关键是扩展名别变成 .txt)。

Windows Registry Editor Version 5.00

; ============================================================
;  恢复经典「Windows 照片查看器」
;  适用系统: Windows 10 / Windows 11 / LTSC 2024 (24H2, build 26100+)
;  作用范围: 仅当前用户 (HKEY_CURRENT_USER),无需管理员权限
;  使用方法: 双击本文件 -> 提示时点「是」-> 点「确定」
;  备注: 导入后「打开方式」中立即可用;若要设为默认程序,
;        请在「设置 - 应用 - 默认应用」中手动指定。
; ============================================================

; ---------- 1. 注册照片查看器应用本体 ----------
[HKEY_CURRENT_USER\Software\Classes\Applications\photoviewer.dll]
"FriendlyAppName"="@C:\\Program Files\\Windows Photo Viewer\\photoviewer.dll,-3009"

[HKEY_CURRENT_USER\Software\Classes\Applications\photoviewer.dll\shell\open]
"MuiVerb"="@C:\\Program Files\\Windows Photo Viewer\\photoviewer.dll,-3043"

[HKEY_CURRENT_USER\Software\Classes\Applications\photoviewer.dll\shell\open\command]
@="C:\\WINDOWS\\System32\\rundll32.exe \"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen %1"

[HKEY_CURRENT_USER\Software\Classes\Applications\photoviewer.dll\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CURRENT_USER\Software\Classes\Applications\photoviewer.dll\SupportedTypes]
".bmp"=""
".dib"=""
".gif"=""
".ico"=""
".jfif"=""
".jpe"=""
".jpeg"=""
".jpg"=""
".png"=""
".tif"=""
".tiff"=""
".wdp"=""
".jxr"=""

; ---------- 2. 图片类型 -> 照片查看器关联 ----------
[HKEY_CURRENT_USER\Software\Classes\.bmp\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.dib\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.gif\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.ico\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.jfif\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.jpe\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.jpeg\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.jpg\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.png\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.tif\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.tiff\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.wdp\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

[HKEY_CURRENT_USER\Software\Classes\.jxr\OpenWithProgids]
"PhotoViewer.FileAssoc.Tiff"=hex(0):

; ---------- 3. 默认应用能力声明 ----------
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities]
"ApplicationName"="@C:\\Program Files\\Windows Photo Viewer\\photoviewer.dll,-3009"
"ApplicationDescription"="@C:\\Program Files\\Windows Photo Viewer\\photoviewer.dll,-3069"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]
".bmp"="PhotoViewer.FileAssoc.Tiff"
".dib"="PhotoViewer.FileAssoc.Tiff"
".gif"="PhotoViewer.FileAssoc.Tiff"
".ico"="PhotoViewer.FileAssoc.Tiff"
".jfif"="PhotoViewer.FileAssoc.Tiff"
".jpe"="PhotoViewer.FileAssoc.Tiff"
".jpeg"="PhotoViewer.FileAssoc.Tiff"
".jpg"="PhotoViewer.FileAssoc.Tiff"
".png"="PhotoViewer.FileAssoc.Tiff"
".tif"="PhotoViewer.FileAssoc.Tiff"
".tiff"="PhotoViewer.FileAssoc.Tiff"
".wdp"="PhotoViewer.FileAssoc.Tiff"
".jxr"="PhotoViewer.FileAssoc.Tiff"

[HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]
"Windows Photo Viewer"="Software\\Microsoft\\Windows Photo Viewer\\Capabilities"

然后双击这个文件,UAC 提示点「是」,再点「确定」。

导入只是让它出现在候选列表里,不会自动变成默认程序——Win10 之后微软把「注册候选」和「设为默认」拆成了两件事,任何软件都不能偷偷抢默认。所以最后手动点一次:

  • 右键图片 → 打开方式 → 选择其他应用,找到「Windows 照片查看器」,勾上「始终使用此应用打开 .jpg 文件」。
  • Win11 也可以走 设置 → 应用 → 默认应用,搜索框里输入 .jpg(带点),点进去选「Windows 照片查看器」。

它做了什么

文件分三段:

第一段把照片查看器注册成一个应用。键名是 .dll 不是 .exe,因为它本身不是独立可执行文件,而是被 rundll32.exe 加载的 DLL。FriendlyAppName 决定菜单里显示的名字(不写就会显示成 photoviewer.dll),shell\open\command 是启动命令,DropTarget 负责拖拽打开,SupportedTypes 声明支持的格式。

第二段给每个图片扩展名挂一条 OpenWithProgids,告诉系统「.jpg 这类文件,照片查看器也是候选之一」。hex(0): 是 REG_NONE 类型的空值,不存数据,只起占位作用。这里有个反直觉的点:所有格式用的都是 PhotoViewer.FileAssoc.Tiff 这一个 ProgID,包括 .jpg、.png——名字带 Tiff 但它其实是总入口,属于历史遗留。这个 ProgID 是系统预置的,不用我们创建。

第三段是能力声明,RegisteredApplications 相当于登记一句「有这么个应用,它的能力声明在哪儿」,有了这段才能出现在「设置 → 默认应用」里。只想要右键「打开方式」的话,前两段就够了。

几个坑

  • 图片路径含空格打不开:把启动命令里的 %1 改成 "%1"。
  • 列表里没立刻出现:资源管理器有缓存,在任务管理器里重启「Windows 资源管理器」,或重启一次系统。
  • 精简版系统无效:有些 Ghost 镜像把 C:\Program Files\Windows Photo Viewer\ 整个目录删了,没有 dll 的话注册表写得再对也没用,动手前先确认文件在不在。
  • 重装/重置系统后失效:关联会跟着还原,把 .reg 存好,下次双击一下就行。

撤销

打开注册表编辑器(regedit),删掉这几个键即可:HKCU\Software\Classes\Applications\photoviewer.dll、HKCU\SOFTWARE\Microsoft\Windows Photo Viewer、各图片扩展名 OpenWithProgids 下的 PhotoViewer.FileAssoc.Tiff 值(只删值,别删整个键)、以及 HKCU\SOFTWARE\RegisteredApplications 下的 Windows Photo Viewer 值。留着其实也无害。

写这篇文章时顺手确认了一下,Win11 24H2 和 LTSC 2024 上这套方法依然有效。导入前记得先导出备份一次注册表。