问题现象概述
使用 HiBitUninstaller 扫描注册表后,VSCode 用户版(User Installer)的右键菜单项“通过 Code 打开”显示为中文乱码。菜单功能正常,仅显示异常。
操作环境与软件版本
操作系统
Windows 11(24H2 及 25H2 均能复现)
VSCode 版本
VSCodeUserSetup-x64-1.111.0(安装时勾选了“将‘通过 Code 打开’添加到文件上下文菜单”)
清理工具版本
HiBit Uninstaller 4.0.10(安装版)
问题发现与排查过程
1. 问题复现背景
HiBit Uninstaller 是我日常使用的清理工具,功能稳定。一个月前将其更新至最新版后,我重新卸载并安装了 VSCode,并在安装时手动勾选了以下三项(其中第一项默认未勾选):
将“通过 Code 打开”操作添加到 Windows 资源管理器文件上下文菜单
将 Code 注册为受支持的文件类型的编辑器
添加到 PATH(重启后生效)
在一次例行注册表扫描后,发现右键菜单中的“通过 Code 打开”变为中文乱码,但菜单功能仍正常。
2. 已尝试的修复方法
参考 CSDN 上现有的唯一一篇 VSCode 右键菜单乱码修复教程,按其指引的注册表路径(如 HKEY_CLASSES_ROOT*\shell\VSCode)进行排查和修复,但该路径在 Windows 11 中不存在,推测该方法仅适用于 Windows 10。
在虚拟机中多次重建环境,进行大量对照实验,得出以下关键结论:
仅 Windows 11 复现:Windows 10 环境下使用相同软件版本执行相同操作,未出现乱码。
与用户名无关:无论使用微软账户还是本地账户,中文或英文用户名,均能稳定复现。
扫描即触发:仅需执行 HiBit Uninstaller 的注册表扫描(无需清理),即可导致乱码。
普通卸载无效:直接卸载 VSCode 并重装,乱码仍然存在,必须使用 HiBit Uninstaller 的注册表清理功能后重装,才能恢复正常显示。
3. 已进行的深入分析
使用 ProcMon 对清理工具进行实时监控,未发现其对 VSCode 相关注册表项进行直接修改或删除。
使用 RegShot 对“乱码前/后”进行快照对比,未定位到有效差异。
排查HKEY_CLASSES_ROOT下VSCodeContextMenu键,Title值正常,未被修改。
检查 HKEY_CURRENT_USER\Software\Classes下是否存在覆盖项,未发现异常(也可能是本人技术不佳,没能发现)。
由于本人技术能力有限,虽收集了大量监控数据,但仍无法准确定位问题根源,特向各位寻求帮助。
需求方向
希望大家能帮忙回答以下几点:
- 为什么该问题仅在Windows11系统中出现呢?
- HiBit Uninstaller为什么在扫描阶段造成了中文乱码呢?
- 是否有办法在不重装系统的情况下,彻底重置或修复 VSCode 的右键菜单状态?
如需测试,我已将相关版本软件上传至个人网站:
http://download.luolichen.top/
(包含 HiBit Uninstaller 4.0.10 和 VSCode 1.111.0 用户版安装包)
非常感谢各位的帮助!