プログラム/プロジェクトが完全に無料の場合、この DLL を使用できます。寄付や広告などでも収入が得られましたら、ぜひご支援をお願いいたします。
私のオーバーレイが完全に動作するには、7z.dll が必要です。このファイルをまだ持っていない場合は、https://www.7-zip.org/ からダウンロードできます。
7zOverlay.dll ファイルのパラメータは 7-ZIP ヘルプ ファイルにあり、7zOverlay.dll は 7z.exe ファイルと同じパラメータを使用します。移動/変更が簡単にできることを願っています。
7zOverlay.dll にパラメータを追加しない場合、出力バッファ内のパラメータのヘルプが返され、-1 (パラメータなし) が返されます。
デフォルトでは、7zOverlay.dll の場所から 7z.dll ファイルがロードされます。7zOverlay.dll を %tmp% の場所から呼び出すか、.exe の場所から呼び出すかは関係ありません。ただし、 Set7zDllPathFileAまたはSet7zDllPathFileW関数を使用して 7z.dll ファイルの場所を変更できます (以下の例)。 CommandFor7zipAまたはCommandFor7zipW関数の前にのみ、7z.dll ファイルの場所を変更できます。 7z.dll ファイルがロードされた後、7z.dll ファイルの場所を変更する機能は機能しません。
7zOverlay.dll を 7z.dll バージョン 15.05、16.04、19.00、20.00 アルファ、および 20.01 アルファでテストしました。うまくいきます。
この DLL には 4 つの関数が含まれており、2 つはANSI (Set7zDllPathFileA、CommandFor7zipA) 文字用、2 つはUNICODE (Set7zDllPathFileW、CommandFor7zipW) 文字用です。
文字エンコードごとに分けた 2 つの基本的な使用例:
ANSI :
C++: BOOL Set7zDllPathFileA(const char * FullPathToThe7zDLL);
Delphi: Set7zDllPathFileA(const FullPathToThe7zDLL: PAnsiChar): BOOL;標準呼び出し;
---
C++: int CommandFor7zipA(const char * params, char * &OutputBuffer, char * &ErrorsBuffer);
Delphi: CommandFor7zipA(const params:PAnsiChar; var OutputBuffer、ErrorsBuffer:PAnsiChar):整数;
ユニコード:
C++: BOOL Set7zDllPathFileW(const wchar_t * FullPathToThe7zDLL);
Delphi: Set7zDllPathFileW(const FullPathToThe7zDLL: PwideChar): BOOL;標準呼び出し;
---
C++: int CommandFor7zipW(const wchar_t * params, wchar_t * &OutputBuffer, wchar_t * &ErrorsBuffer);
Delphi: CommandFor7zipW(const params:P WideChar; var OutputBuffer、ErrorsBuffer:P WideChar):整数;
上記でダウンロードできる他のプログラミング言語の使用例も用意しました。
どのサンプルにも 7zOverlay.dll が含まれていないため、7zOverlay.dll を個別にダウンロードして、抽出したサンプルの場所に配置する必要があります。
ここでは、無料プログラム用のこの DLL の X86 (32 ビット) バージョンのみを共有します。これは、7z.dll の X86 (32 ビット) ビルドでのみ動作します。この DLL の X64 (64 ビット) ビルドも入手できます。価格については私のパトレオンで、またはここのプライベート メッセージ (利用可能な場合) でお話しできます。
ビルド情報。
この 7zOverlay.dll は、VisualStudio2015CE を使用して元の 7-ZIP ソースからビルドされ、コマンド ライン プログラムとしてではなく DLL として使用できるようにいくつかの変更が加えられています。そのため、この DLL は、7-ZIP コマンド ライン プログラム (7z.exe) で使用したものと同じパラメータ (最初のパラメータ (入力) を使用し、出力メッセージを出力バッファに返します。 2 番目のパラメータ (出力)、およびすべての警告) /errors エラー バッファーに返されるメッセージ - 3 番目のパラメーター (出力)。
プロジェクトの短いストーリーなので、興味がない場合は読み飛ばしてください。
このプロジェクトはずっと前に始まりました。最初に、7-ZIP 用の JCL を使用して古い Delphi でこの DLL を作成しました。非常に高速でしたが、JCL は希望どおりにすべてのアーカイブをサポートしませんでした。そこで、元の 7-ZIP ソースを変更して、そこからオーバーレイ DLL を作成することにしました。現在のバージョンの 7-ZIP でこれらの DLL をビルドする他のプロジェクトのように、この DLL を作成したくありませんでした。はい、他のプロジェクトのこれらの DLL は単一であり、動作するために元の 7z.dll は必要ありませんが、新しいバージョンを待つ必要があります。私のオーバーレイ DLL を使用すると、7-ZIP のどのバージョンでも使用できます。