我正在使用WinMerge
并想将其上下文菜单标题从 更改为Compare
(&Compare
这样我就可以使用AppsKey,C组合轻松比较文件。
我可以做到吗?还是我需要重写应用程序本身才能做到这一点?
答案1
我拥有的 shell 扩展处理程序在这里。可能是一个不错的起点。
HKCU\Software\Classes\*\ShellEx\ContextMenuHandlers
HKCU\Software\Classes\Directory\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\*\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\Directory\ShellEx\ContextMenuHandlers
答案2
上下文菜单WinMerge
是动态的,不能在注册表中更改 - 它们是在Shell Extension
DLL 中定义的。(大多数/所有应用程序很可能都是这样的。)
我c:\Program Files\WinMerge\ShellExtensionU.dll
使用 的一个Total Commander
插件(我不知道是哪个)打开了该文件。然后导航到 。RT_STRING\1033\7.rc
这是英语上下文菜单的语言文本。然后我将其从:
STRINGTABLE
LANGUAGE 9, 1
BEGIN
100, "ShellExtension"
101, "WinMerge"
102, "Open with WinMerge"
103, "Please select no more than 2 items"
104, "Compare"
105, "Compare..."
106, "Compare To"
107, "Save this path. Select another path to compare with this path."
109, "Compare to saved path (%1)"
110, "Re-select First"
END
到:
STRINGTABLE
LANGUAGE 9, 1
BEGIN
100, "ShellExtension"
101, "WinMerge"
102, "Open with WinMerge"
103, "Please select no more than 2 items"
104, "&Compare"
105, "Compare..."
106, "&Compare To"
107, "Save this path. Select another path to compare with this path."
109, "Compare to saved path (%1)"
110, "Re-select First"
END
重新启动后,上下文菜单已更新。