我想用AHK实现智能解压,首要问题就是获取压缩文件目录。ZIP好实现,但RAR,7Z都没有现成的库。用命令行的方式倒是可以轻松获取目录,但延迟太大,鼠标也会变漏斗。
有什么功能全API好用的DLL库推荐吗?
不懂AHK,不过很多软件都自带 7z.dll 实现解压,madVR 自带 unrar.dll,所以分开是有的,但是可能不存在全功能的
+1,用7z.dll就好,我之前在C#程序里用它,解压支持以下格式(PS:不支持rar5)
namespace SevenZip
{
public enum InArchiveFormat
{
SevenZip,
Arj,
BZip2,
Cab,
Chm,
Compound,
Cpio,
Deb,
GZip,
Iso,
Lzh,
Lzma,
Nsis,
Rar,
Rpm,
Split,
Tar,
Wim,
Lzw,
Zip,
Udf,
Xar,
Mub,
Hfs,
Dmg,
XZ,
Mslz,
Flv,
Swf,
PE,
Elf,
Msi,
Vhd
}
}
但AutoHotkey这方面没有现成的库,看它的函数也完全不知道如何调用。
SetLargePageMode 0x1005d8b8 0x0005d8b8 13 (0xd) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
SetCodecs 0x1005db54 0x0005db54 12 (0xc) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
SetCaseSensitive 0x1005d8c8 0x0005d8c8 11 (0xb) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetNumberOfMethods 0x100f8580 0x000f8580 10 (0xa) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetNumberOfFormats 0x1005d7bc 0x0005d7bc 9 (0x9) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetMethodProperty 0x100f8410 0x000f8410 8 (0x8) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetIsArc 0x1005d7c8 0x0005d7c8 7 (0x7) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetHashers 0x100f8880 0x000f8880 6 (0x6) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetHandlerProperty2 0x1005d52c 0x0005d52c 5 (0x5) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
GetHandlerProperty 0x1005d7ac 0x0005d7ac 4 (0x4) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
CreateObject 0x1005d810 0x0005d810 3 (0x3) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
CreateEncoder 0x100f81d0 0x000f81d0 2 (0x2) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
CreateDecoder 0x100f8150 0x000f8150 1 (0x1) 7z.dll C:\Program Files\7-Zip\7z.dll 导出函数
用DllCall()
进行调用——不过你得有一些C/C++/Pascal以及Windows API方面的基础