7z.exe 调用的就是 7z.dll ,而且 7z.dll 包含了所有的压缩解压方式。
一个可行的方案就是通过 shell 的方式调用 7z.exe ,间接去调用 7z.dll 。但是现在有一个大量小文件的压缩解压需求,这种方案的话会频繁的创建进程( 7z.exe )和销毁进程,性能损失太大了,部分文件还需要加密和解密。
所以想问下有没有人知道怎么调用 7z.dll 直接进行压缩和解压(加密和解密)。
我知道 7z 是开源的,官方也给了 SDK,但是无奈不会 C++,而且官方给的 SDK 看了半天也没有什么头绪。
下午的时候搜了搜,找到两个项目也没用上。https://github.com/fancycode/pylzma https://github.com/harvimt/pylib7zip ( 6 年前的项目了,python3.3 )
因为好多游戏下载网站上都是将游戏数据包压缩存放,然后通过一个 exe 来解压释放的,其中 exe 就调用了 7z.dll ,所以应该不会太难,只是无奈没有文档(我可以看懂的)可以参考。。。