解压软件三剑客中,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.dll和bdzshl32.dll,提取后复制到便携版bandizip的根目录下。当然你也可以直接安装一次,到安装文件夹中复制这两个文件出来再卸载掉Bandizip也是一样。
3)修改便携版Bandizip根目录下的config.ini,用记事本打开,修改其中的:is_portable= 1为is_portable= 0,保存后退出。这个修改是显示便携版Bandizip设置中原本隐藏的上下文菜单设置。
4)打开记事本,复制以下内容到里面:
以下注册表内容适用于X64系统
[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,则重启系统就可以了。这个操作的结果等同于上面的注册表赋值操作。
新版本文件名称变化了
./RegDll.x64.exe /calldll bdzshl.x64.dll RegSvr