Anda dapat menggunakan dll ini jika program/proyek Anda benar-benar gratis. Jika Anda mendapat penghasilan bahkan dari donasi atau iklan, mohon dukung saya.
Agar overlay saya berfungsi sepenuhnya, Anda memerlukan 7z.dll, jadi jika Anda belum memiliki file ini, Anda dapat mendownloadnya dari sana: https://www.7-zip.org/
Parameter file 7zOverlay.dll dapat ditemukan di file bantuan 7-ZIP, 7zOverlay.dll menggunakan parameter yang sama dengan file 7z.exe. Saya harap perpindahan/perubahannya mudah.
jika Anda tidak menambahkan parameter apa pun ke 7zOverlay.dll, ia mengembalikan bantuan parameter di buffer keluaran, dan mengembalikan -1 (tanpa parameter).
Secara default memuat file 7z.dll dari lokasi 7zOverlay.dll, tidak masalah jika Anda memanggil 7zOverlay.dll dari lokasi %tmp% atau dari lokasi .exe Anda. Namun, Anda dapat mengubah lokasi file 7z.dll dengan fungsi Set7zDllPathFileA atau Set7zDllPathFileW (contoh di bawah). Hanya sebelum salah satu fungsi CommandFor7zipA atau CommandFor7zipW Anda dapat mengubah lokasi file 7z.dll. Setelah file 7z.dll dimuat, fungsi untuk mengubah lokasi file 7z.dll tidak berfungsi.
Saya menguji 7zOverlay.dll dengan versi 7z.dll: 15.05, 16.04, 19.00, 20.00 Alpha dan 20.01 alpha. Ini berfungsi dengan baik.
Dll ini berisi empat fungsi, dua untuk karakter ANSI (Set7zDllPathFileA, CommandFor7zipA) dan dua untuk karakter UNICODE (Set7zDllPathFileW, CommandFor7zipW).
Dua contoh dasar penggunaan, secara terpisah untuk pengkodean karakter:
ANSI :
C++: BOOL Set7zDllPathFileA(const char * FullPathToThe7zDLL);
Delphi: Set7zDllPathFileA(const FullPathToThe7zDLL: PAnsiChar): BOOL; panggilan std;
---
C++: int CommandFor7zipA(const char * params, char * &OutputBuffer, char * &ErrorsBuffer);
Delphi: CommandFor7zipA(params const: PAnsiChar; var OutputBuffer, ErrorsBuffer: PAnsiChar): Integer;
UNIKODE :
C++: BOOL Set7zDllPathFileW(const wchar_t * FullPathToThe7zDLL);
Delphi: Set7zDllPathFileW(const FullPathToThe7zDLL: PWideChar): BOOL; panggilan std;
---
C++: int CommandFor7zipW(const wchar_t * params, wchar_t * &OutputBuffer, wchar_t * &ErrorsBuffer);
Delphi: CommandFor7zipW(params const: PWideChar; var OutputBuffer, ErrorsBuffer: PWideChar): Integer;
Saya juga menyiapkan contoh penggunaan bahasa pemrograman lain yang tersedia untuk diunduh di atas.
Contoh apa pun tidak menyertakan 7zOverlay.dll, jadi Anda perlu mengunduhnya secara terpisah dan menempatkannya di lokasi contoh yang diekstrak.
Di sini saya hanya membagikan versi X86 (32-bit) dari dll ini untuk program gratis, yang hanya berfungsi dengan versi X86 (32-bit) dari 7z.dll. Versi X64 (64-bit) dari dll ini juga tersedia dan kita dapat membicarakan harganya di patreon saya, atau di sini di pesan pribadi (jika tersedia).
Membangun informasi.
7zOverlay.dll ini dibuat dari sumber 7-ZIP asli menggunakan VisualStudio2015CE dengan beberapa modifikasi untuk menggunakannya sebagai dll, tetapi bukan sebagai program baris perintah. Jadi, dll ini menggunakan parameter yang sama seperti yang Anda gunakan untuk program baris perintah 7-ZIP (7z.exe) - parameter pertama (input), dan mengembalikan pesan output ke buffer output - parameter kedua (output), dan semua peringatan /pesan kesalahan yang dikembalikannya dalam buffer kesalahan - parameter ketiga (output).
Cerita proyeknya singkat, Anda bisa melewatkannya, jika Anda tidak tertarik.
Proyek ini telah dimulai sejak lama. Pada awalnya saya membuat dll ini di Delphi lama dengan menggunakan JCL untuk 7-ZIP, cukup cepat, tetapi JCL tidak mendukung semua arsip seperti yang saya inginkan. Jadi, saya mulai memodifikasi sumber 7-ZIP asli untuk membuat overlay dll darinya. Saya tidak ingin membuat dll ini seperti pada beberapa proyek lain, yang membuat dll ini dengan versi 7-ZIP saat ini. Ya, dll dari proyek lain ini bersifat tunggal dan tidak memerlukan 7z.dll asli agar berfungsi, tetapi Anda harus menunggu versi baru. Dengan overlay dll saya, Anda dapat menggunakan versi 7-ZIP apa pun.