귀하의 프로그램/프로젝트가 완전히 무료인 경우 이 dll을 사용할 수 있습니다. 기부나 광고로도 수입이 생긴다면 꼭 지원해주세요.
오버레이가 완전히 작동하려면 7z.dll이 필요하므로 아직 이 파일이 없으면 https://www.7-zip.org/에서 다운로드할 수 있습니다.
7zOverlay.dll 파일의 매개변수는 7-ZIP 도움말 파일에서 찾을 수 있으며, 7zOverlay.dll은 7z.exe 파일과 동일한 매개변수를 사용합니다. 이동/변경이 쉽기를 바랍니다.
7zOverlay.dll에 매개변수를 추가하지 않으면 출력 버퍼에 있는 매개변수의 도움말을 반환하고 -1(매개변수 없이)을 반환합니다.
기본적으로 7zOverlay.dll 위치에서 7z.dll 파일을 로드합니다. %tmp% 위치에서 또는 .exe 위치에서 7zOverlay.dll을 호출해도 상관없습니다. 그러나 Set7zDllPathFileA 또는 Set7zDllPathFileW 함수(아래 예)를 사용하여 7z.dll 파일 위치를 변경할 수 있습니다. CommandFor7zipA 또는 CommandFor7zipW 기능 이전에만 7z.dll 파일 위치를 변경할 수 있습니다. 7z.dll 파일이 로드된 후 7z.dll 파일 위치를 변경하는 기능이 작동하지 않습니다.
15.05, 16.04, 19.00, 20.00 Alpha 및 20.01 alpha의 7z.dll 버전으로 7zOverlay.dll을 테스트했습니다. 잘 작동합니다.
이 dll에는 4개의 함수가 포함되어 있습니다. 두 개는 ANSI (Set7zDllPathFileA, CommandFor7zipA) 문자용이고 두 개는 UNICODE (Set7zDllPathFileW, CommandFor7zipW) 문자용입니다.
문자 인코딩에 대한 두 가지 기본 사용 예는 다음과 같습니다.
안시 :
C++: BOOL Set7zDllPathFileA(const char * FullPathToThe7zDLL);
델파이: Set7zDllPathFileA(const FullPathToThe7zDLL: PAnsiChar): BOOL; 표준 호출;
---
C++: int CommandFor7zipA(const char * params, char * &OutputBuffer, char * &ErrorsBuffer);
델파이: CommandFor7zipA(const params: PAnsiChar; var OutputBuffer, ErrorsBuffer: PAnsiChar): Integer;
유니코드 :
C++: BOOL Set7zDllPathFileW(const wchar_t * FullPathToThe7zDLL);
델파이: Set7zDllPathFileW(const FullPathToThe7zDLL: PWideChar): BOOL; 표준 호출;
---
C++: int CommandFor7zipW(const wchar_t * params, wchar_t * &OutputBuffer, wchar_t * &ErrorsBuffer);
델파이: CommandFor7zipW(const params: PWideChar; var OutputBuffer, ErrorsBuffer: PWideChar): Integer;
또한 위에서 다운로드할 수 있는 다른 프로그래밍 언어에 대한 다른 사용 예도 준비했습니다.
어떤 예제에도 7zOverlay.dll이 포함되어 있지 않으므로 별도로 다운로드하여 추출된 예제 위치에 배치해야 합니다.
여기서는 7z.dll의 X86(32비트) 빌드에서만 작동하는 무료 프로그램용 dll의 X86(32비트) 버전만 공유합니다. 이 dll의 X64(64비트) 빌드도 사용할 수 있으며 내 패트리온이나 여기 비공개 메시지(사용 가능한 경우)에서 가격에 대해 이야기할 수 있습니다.
빌드 정보.
이 7zOverlay.dll은 VisualStudio2015CE를 사용하여 원본 7-ZIP 소스에서 빌드되었으며 명령줄 프로그램이 아닌 dll로 사용하도록 일부 수정되었습니다. 따라서 이 dll은 7-ZIP 명령줄 프로그램(7z.exe)에 사용한 것과 동일한 매개변수(첫 번째 매개변수(입력))를 사용하고 출력 메시지를 출력 버퍼(두 번째 매개변수(출력))로 반환하며 모든 경고를 반환합니다. /errors 오류 버퍼에 반환되는 메시지 - 세 번째 매개변수(출력).
짧은 프로젝트 스토리, 관심 없으시면 건너뛰셔도 됩니다.
이 프로젝트는 오래 전에 시작되었습니다. 처음에는 7-ZIP용 JCL을 사용하여 이전 Delphi에서 이 dll을 생성했는데 속도는 꽤 빨랐지만 JCL은 내가 원하는 대로 모든 아카이브를 지원하지 않습니다. 그래서 원본 7-ZIP 소스를 수정하여 오버레이된 dll을 만들기 시작했습니다. 나는 현재 버전의 7-ZIP으로 이러한 dll을 빌드하는 다른 프로젝트에서처럼 이 dll을 만들고 싶지 않았습니다. 예, 다른 프로젝트의 이러한 dll은 단일이므로 작동하려면 원본 7z.dll이 필요하지 않지만 새 버전을 기다려야 합니다. 오버레이된 DLL을 사용하면 모든 버전의 7-ZIP을 사용할 수 있습니다.