使用7zip dll归档程序

时间:2013-04-25 16:49:53

标签: c++ 7zip

我正在尝试使用7zip dll制作一个小型存档程序,但我无法弄清楚如何使用它。我不知道CLSID和IID的定义位置,IID使用什么来将多个文件压缩到存档中。 我的代码看起来像这样:

typedef int (_CreateObject)(const GUID clsid, const GUID iid, void *outObject);
HMODULE hMod = LoadLibrary("7zra.dll");
_CreateObject pfnCreate = (_CreateObject)GetProcAddress(hMod, "CreateObject");
GUID CLSID_CFormat7z = {0x23170F69, 0x40C1, 0x2790, {0x10, 0x00, 0x00, 0x01, 0x10, 0x07, 0x00, 0x00}};
GUID IID_Coder = {0x23170F69, 0x40C1, 0x278A, {0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00}};
ICompressCoder2 pCoder = NULL;
int i = pfnCreate(&CLSID_CFormat7z, &IID_Coder, (void*)&pCoder);

我总是得到一个NULL指针,即使我尝试过不同的GUID。 请问一个简单的例子吗?

0 个答案:

没有答案