BluePointLilac / ContextMenuManager

🖱️ 纯粹的Windows右键菜单管理程序
https://bluepointlilac.github.io/ContextMenuManager
GNU General Public License v3.0
11.98k stars 607 forks source link

WinX菜单新增无效, 并且菜单项名称命名为中文等时可能会导致对应的快捷方式名称显示为乱码 #181

Open LonelyWindG opened 1 year ago

LonelyWindG commented 1 year ago

问题1: WinX菜单目录创建快捷方式后, 还需要进行hashlnk, 否则并不能正常在菜单内显示对应的菜单; 借助riverar/hashlnk该工具才能正常添加菜单, 或者可以使用Win+X Menu Editor这个工具才可以; 工具2实现似乎只是工具1的c#包装, 我尝试找了下发现并不是开源的, 不过未加壳可以直接反编译(代码混淆了, 即便反混淆之后也很难读)

问题2: 修改菜单名称时, SetLocalizedFileNames对lnk所在目录的desktop.ini修改时, 如果desktop.ini内只有ASCII字符则EncodingType.GetType获取到编码为UTF8, 以此编码写入中文菜单名称后, 会导致系统以默认编码(未开启系统UTF-8选项时默认是gbk)显示文件名时乱码

BluePointLilac commented 1 year ago

这个确实需要hashlnk,代码在这里,是麻烦坑晨大佬帮我转C#的,不过WinX菜单只支持win8-10,不支持win11,那个快捷方式目录没用了,现在的winX右键菜单完全内置了

LonelyWindG commented 1 year ago

这个确实需要hashlnk,代码在这里,是麻烦坑晨大佬帮我转C#的,不过WinX菜单只支持win8-10,不支持win11,那个快捷方式目录没用了,现在的winX右键菜单完全内置了

我用的是Win10, 开始自己直接在目录建lnk无效, 这个软件也试了不知道为啥怎么搞都没效果, 最后找到riverar这个hashlnk才能正常显示出来