HKCR文件关联失效:.dms扩展名双击无响应求助
修复.dms文件双击关联失效的问题
我之前也碰到过手动清理注册表后文件关联失效的情况,尤其是自定义扩展名的场景,很容易因为注册表结构不完整导致双击行为异常。针对你的.dms扩展名关联桌面应用的需求,我整理了一套分步修复方案:
1. 用命令行快速重建关联(推荐,比手动改注册表更稳妥)
管理员身份打开命令提示符,依次执行以下命令:
- 首先关联扩展名到自定义文件类型:
assoc .dms=DMSEncodedFile - 然后绑定该文件类型到你的应用程序:
注意把路径替换成你实际的应用程序路径,ftype DMSEncodedFile="C:\Full\Path\To\YourDesktopApp.exe" "%1""%1"是用来传递双击的文件路径参数,必须保留。
2. 手动修复注册表(如果命令行方法无效时使用)
如果命令行没生效,可能是注册表残留了冲突项,需要手动补全结构:
- 打开注册表编辑器(
regedit),导航到HKEY_LOCAL_MACHINE\SOFTWARE\Classes:- 创建子项
.dms,将其默认值设为DMSEncodedFile(自定义的文件类型名称,避免用系统自动生成的dms_auto_file)。 - 创建子项
DMSEncodedFile,默认值设为你想在右键菜单显示的名称,比如"DMS 编码文件"。 - 在
DMSEncodedFile下创建shell\open\command子项,将其默认值设为"C:\Full\Path\To\YourDesktopApp.exe" "%1"。
- 创建子项
- 导航到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dms:- 删除
OpenWithList和OpenWithProgids里的无关项,只保留DMSEncodedFile(如果没有就新建一个字符串值,名称设为DMSEncodedFile,值留空)。
- 删除
3. 刷新系统文件关联缓存
完成上述操作后,需要重启资源管理器让更改生效:
taskkill /f /im explorer.exe && start explorer.exe
额外排查点
- 如果是64位系统,检查
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes下有没有重复的.dms或文件类型项,避免32位/64位程序的关联冲突。 - 右键点击.dms文件,选择“打开方式”→“选择默认程序”,手动指定你的应用并勾选“始终使用此应用打开.dms文件”,这一步可以强制覆盖系统的关联设置。
内容的提问来源于stack exchange,提问作者Takeo Nishioka
相关产品推荐
相关产品推荐

