Beyond Compare 4 便携版 添加右键菜单

Beyond Compare 4 便携版 添加右键菜单

一、从安装版中复制所需的 dll 文件

便携版默认不带 Shell Extension 所需的 dll 文件,可以从安装版复制:

例如,从 "C:\Program Files\Beyond Compare 4" 文件夹中找到如下文件,复制到便携版目录:

  • 32位:BCShellEx.dll
  • 64位:BCShellEx64.dll

二、添加 Shell Extension 到注册表

创建一个 bc4_portable_user_shell_extension.reg 文件,内容如下,注意其中的 dll 路径(分隔符需使用双反斜杠):

reg 复制代码
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]
@="CirrusShellEx"


; Modify the 64-bit BCShellEx64.dll path here (use double backslash)

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}\InProcServer32]
@="C:\\Tools\\BCompare\\BCShellEx64.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]
@="CirrusShellEx"

; Modify the 32-bit BCShellEx.dll path here (use double backslash)

[HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}\InProcServer32]
@="C:\\Tools\\BCompare\\BCShellEx.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\CirrusShellEx]
@="{57FA2D12-D22D-490A-805A-5CB48E84F12A}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\CirrusShellEx]
@="{57FA2D12-D22D-490A-805A-5CB48E84F12A}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\Folder\shellex\ContextMenuHandlers\CirrusShellEx]
@="{57FA2D12-D22D-490A-805A-5CB48E84F12A}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\lnkfile\shellex\ContextMenuHandlers\CirrusShellEx]
@="{57FA2D12-D22D-490A-805A-5CB48E84F12A}"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{57FA2D12-D22D-490A-805A-5CB48E84F12A}"="Beyond Compare 4 Shell Extension"

双击文件运行导入注册表,注销用户后再次登录确认右键菜单已生效。

※以上的注册表是为 Current User 添加右键菜单,无需管理员权限。如果需要为 All Users 添加,将 "HKEY_CURRENT_USER" 改为 "HKEY_LOCAL_MACHINE"

三、删除右键菜单

如删除了Beyond Compare 4 便携版,可使用以下 bc4_remove_shell_extension.reg 文件,删除右键菜单:

reg 复制代码
Windows Registry Editor Version 5.00

; Remove settings in BC4 key

[-HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4\BcShellEx]


; Remove keys under HKEY_CURRENT_USER (current user install)

[-HKEY_CURRENT_USER\Software\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]
[-HKEY_CURRENT_USER\Software\Wow6432Node\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]

[-HKEY_CURRENT_USER\Software\Classes\*\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_CURRENT_USER\Software\Classes\Directory\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_CURRENT_USER\Software\Classes\Folder\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_CURRENT_USER\Software\Classes\lnkfile\shellex\ContextMenuHandlers\CirrusShellEx]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{57FA2D12-D22D-490A-805A-5CB48E84F12A}"=-


; Remove keys under HKEY_LOCAL_MACHINE (install for all users)

[-HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]
[-HKEY_LOCAL_MACHINE\Software\Wow6432Node\Classes\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A}]

[-HKEY_LOCAL_MACHINE\Software\Classes\*\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_LOCAL_MACHINE\Software\Classes\Directory\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_LOCAL_MACHINE\Software\Classes\Folder\shellex\ContextMenuHandlers\CirrusShellEx]
[-HKEY_LOCAL_MACHINE\Software\Classes\lnkfile\shellex\ContextMenuHandlers\CirrusShellEx]

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{57FA2D12-D22D-490A-805A-5CB48E84F12A}"=-

※以上的注册表是为 Current User 以及 All Users 添加的右键菜单均删除。若当前用户无需管理员权限,可将后半段的 "HKEY_LOCAL_MACHINE" 的部分删除后再导入 .reg 文件。

(完)