解压软件三剑客中,7zip(官网:https://www.7-zip.org/)和Bandizip(官网:http://www.bandisoft.com/)应该是值得推荐的,免费、纯净、轻量、本地化,自带便携版,支持X86和X64。Bandizip也支持MAC平台。WinRAR官网:https://www.rarlab.com/),个人用户免费,弹广告,国际版可以通过盗版rarreg.key文件去除广告。三种支持格式解压性能相差不大。至于国产的好压,2345,数字之流还是少用为好。

有消息说Bandizip在7.0后面针对个人用户推出带广告版本,要走WinRAR一样的路。

 
 
7Zip唯一的不足就是不支持显示rar压缩包的注释内容,很多站点下载压缩包rar文件中通过注释文件提示解压密码,但是Bandizip却可以正确显示,这点而言7zip就干不过Bandizip了。但是Bandizip也有一个不足,就是官方的便携版不支持右键上下文菜单(安装版没这个问题),而且设置中连上下文菜单的设置都隐藏了;在官方支持文档中似乎有意避开这个内容,提供的解决方法都遮遮掩掩的,官方Google讨论区里面提到的RegDll64.exe方法也是个半成品的解决方法。

所以,不喜欢安装版,要X64位便携版,而且要有上下文菜单,那么来动手:

方法一

1)环境:WindowsX64,官方下载的X64的Bandizip便携版文件,官方下载的安装版文件;

2)用7zip或者便携版Bandizip打开或者解压Bandizip的安装版文件(exe),用以获得安装版中的两个文件:bdzshl64.dllbdzshl32.dll,提取后复制到便携版bandizip的根目录下。当然你也可以直接安装一次,到安装文件夹中复制这两个文件出来再卸载掉Bandizip也是一样。

3)修改便携版Bandizip根目录下的config.ini,用记事本打开,修改其中的:is_portable= 1is_portable= 0,保存后退出。这个修改是显示便携版Bandizip设置中原本隐藏的上下文菜单设置。

4)打开记事本,复制以下内容到里面:

以下注册表内容适用于X64系统

    WindowsRegistry Editor Version 5.00

    [HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\AABdzCtx]
    @="{5B69A6B4-393B-459C-8EBB-214237A9E7AC}"

    [HKEY_CLASSES_ROOT\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
    @="AABdzCtxClass"
    [HKEY_CLASSES_ROOT\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
    @="D:\\soft\\app\\7zip\\bandizip\\bdzshl64.dll"
    "ThreadingModel"="Apartment"

    [HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
    @="AABdzCtxClass"
    [HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
    @="D:\\soft\\app\\7zip\\bandizip\\bdzshl32.dll"
    "ThreadingModel"="Apartment"

    [HKEY_CURRENT_USER\Software\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
    @="AABdzCtxClass"
    [HKEY_CURRENT_USER\Software\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
    @="D:\\soft\\app\\7zip\\bandizip\\bdzshl64.dll"
    "ThreadingModel"="Apartment"

    [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
    @="AABdzCtxClass"
    [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
    @="D:\\soft\\app\\7zip\\bandizip\\bdzshl32.dll"
    "ThreadingModel"="Apartment"

    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
    @="AABdzCtxClass"
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
    @="D:\\soft\\app\\7zip\\bandizip\\bdzshl32.dll"
    "ThreadingModel"="Apartment"

把里面的D:\\soft\\app\\7zip\\bandizip\\一次性替换为你电脑中Bandizip的目录,例如D:\\yourmenu\\compress\\bandizip\\,注意双斜杠,注意目录名称的正确性;保存为reg文件,退出。

5)双击此reg文件,合并到系统注册表;(该文件建议复制到便携版的目录下,以便以后重装系统备用)

6)如果右键菜单未显示bandizip,则重启系统!

7)打开bandizip程序,进入设置,开始按照你自己的要求设置上下文菜单显示的内容,结束!


对于X86的版本注册表内容为:

(虚拟机自己测试通过,同样请替换自己的bandizip所在目录位置。):





Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\AABdzCtx]
@="{5B69A6B4-393B-459C-8EBB-214237A9E7AC}"

[HKEY_CLASSES_ROOT\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
@="AABdzCtx Class"

[HKEY_CLASSES_ROOT\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
@="D:\\Soft\\APP\\7ZIP\\bandizip\\bdzshl32.dll"
"ThreadingModel"="Apartment"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}]
@="AABdzCtx Class"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{5B69A6B4-393B-459C-8EBB-214237A9E7AC}\InprocServer32]
@="D:\\Soft\\APP\\7ZIP\\bandizip\\bdzshl32.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\AABdzCtx]
@="{5B69A6B4-393B-459C-8EBB-214237A9E7AC}"




方法二

准备文件:bandizip便携版,bandizip安装包;适用X86和X64:


1)进入便携版所在目录,先修改config.ini中的is_portable= 1,改1为0后保存。这个是设置中显示上下文菜单选项的内容。要不然下面操作结束后就只会有菜单,但是不能自己定制菜单选项和样式了。

2)解开bandizip的安装包,进入data子目录中,找到这两个文件:RegDll32.exe(对应X86系统)或RegDll64.exe(对应X64系统),根据你系统对应提取这个文件复制到便携版的bandizip的根目录下,不要放在data目录下面,主要是为了后面命令少些字符。

3)同样提取安装包中的bdzshl64.dll(对应X64系统)bdzshl32.dll(对应X86系统),同样放置在bandizip的根目录下面;

4)在bandizip所在的根目录进入命令行模式(CMD),对照你的系统是X86还是X64,分别输入:

X64系统:

RegDll64.exe /calldll bdzshl64.dll RegSvr

X86系统:

RegDll32.exe /calldll bdzshl32.dll RegSvr

5)如果右键菜单未显示出bandizip,则重启系统就可以了。这个操作的结果等同于上面的注册表赋值操作。