Windows 11 下,无法修改图片的默认打开方式,只能使用系统默认图像查看器打开图像文件。本文讨论了如何修复此问题,和造成此问题的原因。
问题
只能使用系统默认图像查看器打开图像文件。
进入「属性」页面无「打开方式」按钮可供选择,设置中「默认程序」无扩展名关联信息(找不到 *.jpg
);上下文菜单呼出「打开方式」只能「仅一次」,无法设置默认关联。


修复
创建一个.reg
文件,键入以下内容,双击导入。
或者直接下载文件,下载
1 | Windows Registry Editor Version 5.00 |
原因
使用了 IrfanView 旧关联模式或类似行为的旧程序修改注册表 & 微软的流氓操作。

计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
存储扩展名关联设置。如果用户设置了默认打开方式,Windows 会在对应扩展名目录下创建 UserChoice
,结构见下图。Windows10 后,微软不允许任何程序修改 UserChoice
注册表,还为 ProgId
键添加了 Hash 验证。用户尝试打开文件时,Windows 验证哈希是否正确,若不正确,直接更改关联为系统默认软件(照片)。

IrfanView 已经表明此方法不适用于 Win10 及以上版本,但它是自动勾选的。随后,IFV 尝试强行修改,引发保护机制重置了关联。
但为什么会找不到「打开方式」呢?对于现代 Windows 应用程序,选项计算机\HKEY_CURRENT_USER\SOFTWARE\Classes\<Application>\NoOpenWith
设置后,选择默认应用的按钮将被隐藏。《反垄断法》呢?救一下啊!