• 大小: 8.48MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-14
  • 语言: C/C++
  • 标签: c++  7z  codeblocks  

资源简介

vs2013编译7z.dll 并移植在codeblocks上编译调用成功 里面给出了vs2013的工程文件和codeblocks的工程文件 c++调用示例

资源截图

代码片段和文件信息

// Client7z.cpp
#include “StdAfx.h“

#include 

#include “CPP/Common/MyWindows.h“

#include “CPP/Common/Defs.h“
#include “CPP/Common/MyInitGuid.h“

#include “CPP/Common/IntToString.h“
#include “CPP/Common/StringConvert.h“

#include “CPP/Windows/DLL.h“
#include “CPP/Windows/FileDir.h“
#include “CPP/Windows/FileFind.h“
#include “CPP/Windows/FileName.h“
#include “CPP/Windows/NtCheck.h“
#include “CPP/Windows/PropVariant.h“
#include “CPP/Windows/PropVariantConv.h“

#include “CPP/7zip/Common/FileStreams.h“

#include “CPP/7zip/Archive/IArchive.h“

#include “CPP/7zip/IPassword.h“
#include “C/7zVersion.h“
#include 
#pragma comment(lib“7z.lib“)
#pragma comment(lib “user32.lib“)
#pragma comment(lib “oleaut32.lib“)


#ifdef _WIN32
HINSTANCE g_hInstance = 0;
#endif

// Tou can find the list of all GUIDs in Guid.txt file.
// use another CLSIDs if you want to support other formats (zip rar ...).
// {23170F69-40C1-278A-1000-000110070000}

DEFINE_GUID(CLSID_CFormat7z
            0x23170F69 0x40C1 0x278A 0x10 0x00 0x00 0x01 0x10 0x07 0x00 0x00);
DEFINE_GUID(CLSID_CFormatXz
            0x23170F69 0x40C1 0x278A 0x10 0x00 0x00 0x01 0x10 0x0C 0x00 0x00);

#define CLSID_Format CLSID_CFormat7z
// #define CLSID_Format CLSID_CFormatXz

using namespace NWindows;
using namespace NFile;
using namespace NDir;

#define kDllName “7z.dll“

static const char *kCopyrightString = “\n7-Zip “ MY_VERSION
                                      “ (“  kDllName “ client) “
                                      MY_COPYRIGHT “ “ MY_DATE “\n“;

static const char *kHelpString =
    “Usage: Client7z.exe [a | l | x ] archive.7z [fileName ...]\n“
    “Examples:\n“
    “  Client7z.exe a archive.7z f1.txt f2.txt  : compress two files to archive.7z\n“
    “  Client7z.exe l archive.7z   : List contents of archive.7z\n“
    “  Client7z.exe x archive.7z   : eXtract files from archive.7z\n“;


static AString FStringToConsoleString(const FString &s)
{
    return GetOemString(fs2us(s));
}

static FString CmdStringToFString(const char *s)
{
    return us2fs(GetUnicodeString(s));
}

static void PrintString(const UString &s)
{
    printf(“%s“ (LPCSTR)GetOemString(s));
}

static void PrintString(const AString &s)
{
    printf(“%s“ (LPCSTR)s);
}

static void PrintNewLine()
{
    PrintString(“\n“);
}

static void PrintStringLn(const AString &s)
{
    PrintString(s);
    PrintNewLine();
}

static void PrintError(const char *message const FString &name)
{
    printf(“Error: %s“ (LPCSTR)message);
    PrintNewLine();
    PrintString(FStringToConsoleString(name));
    PrintNewLine();
}

static void PrintError(const AString &s)
{
    PrintNewLine();
    PrintString(s);
    PrintNewLine();
}

static HRESULT IsArchiveItemProp(IInArchive *archive UInt32 index PROPID propID bool &result)
{
    NCOM::CPropVariant prop;
    RINOK(archive->GetProperty(inde

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-11-10 16:34  7z\
     文件        2749  2016-11-10 15:43  7z\7z.cbp
     文件        5720  2016-11-10 16:31  7z\7z.depend
     文件        4703  2016-11-10 16:34  7z\7z.layout
     文件        1496  2016-11-10 10:11  7z\7z.lib
     文件       98304  2016-11-10 10:11  7z\7zxr.dll
     目录           0  2016-11-10 12:16  7z\C\
     文件        5263  2015-11-18 17:04  7z\C\7z.h
     文件        1548  2015-11-09 17:41  7z\C\7zAlloc.c
     文件         403  2015-03-26 00:07  7z\C\7zAlloc.h
     文件       45342  2016-05-16 16:17  7z\C\7zArcIn.c
     文件         563  2013-01-24 01:42  7z\C\7zBuf.c
     文件         647  2013-01-18 17:00  7z\C\7zBuf.h
     文件         940  2014-08-22 16:02  7z\C\7zBuf2.c
     文件        3213  2015-03-10 17:31  7z\C\7zCrc.c
     文件         637  2013-01-18 17:00  7z\C\7zCrc.h
     文件        3441  2015-03-01 15:48  7z\C\7zCrcOpt.c
     文件       15734  2015-11-18 19:09  7z\C\7zDec.c
     文件        6966  2013-01-24 01:42  7z\C\7zFile.c
     文件        1581  2013-01-18 17:00  7z\C\7zFile.h
     文件        4188  2013-11-12 13:50  7z\C\7zStream.c
     文件        5737  2013-11-12 13:54  7z\C\7zTypes.h
     文件         582  2016-10-04 20:10  7z\C\7zVersion.h
     文件        1530  2011-04-19 01:30  7z\C\7zVersion.rc
     文件        8639  2016-05-21 16:06  7z\C\Aes.c
     文件        1364  2013-01-18 17:00  7z\C\Aes.h
     文件        4618  2013-11-12 14:14  7z\C\AesOpt.c
     文件        3272  2015-02-21 22:56  7z\C\Alloc.c
     文件         675  2015-02-21 22:56  7z\C\Alloc.h
     文件        6177  2015-08-01 12:33  7z\C\Bcj2.c
     文件        3287  2014-11-11 01:45  7z\C\Bcj2.h
............此处省略848个文件信息

评论

共有 条评论