TechnicalLibrary
No4.
Unlha32.dllを利用する

今回は、アーカイバーの大多数が利用しているlzh書庫を解凍/作成するための
Unlha32.dllを使ってみることにします。Micco氏が著作権を所有されています。
ダウンロードは、総合アーカイバープロジェクトからどうぞ。
UNLHA32.DLL APIヘルプ Ver1.25を参考にしました。

いろいろなAPIがあるのですが、今回はさくっと解凍だけを行うので、
一つのAPIを使うだけです。

Declare Function Unlha Lib "UNLHA32.DLL" (ByVal hwnd As Long,ByVal szCmdLine As String ,& _
                              ByVal szOutput As String ,ByVal dwSize As LOng)


一つ目の引数はdllを呼び出すアプリのウインドウのハンドルです。Me.hwndでよいと思います。
szCmdLineが重要です。Unlha32.dllはLHA.EXEというコンソールアプリをdllにしたものですから、
LHA.EXEのコマンドラインオプションとszCmdLineは互換性があります。
ここには、「スイッチオプション 解凍する書庫ファイル 解凍先フォルダ」と間にスペースを
置いて指定します。
szOutputとdwSizeはよく分かりません。

<サンプル>
(C:\test.lzhをC:\test\)に解凍します。

Declare Function Unlha Lib "UNLHA32.DLL" (ByVal hwnd As Long,ByVal szCmdLine As String ,& _
                              ByVal szOutput As String ,ByVal dwSize As LOng)
Dim tmpbf As String * 7000

Form Load()
 Unlha(Me.hwnd, "e " & "C:\test.lzh " & "C:\test\", tmpbf, 7000)
End Sub



今回はかなり手抜きですねぇ(汗)
総合アーカイバープロジェクトにはいろいろな資料がそろっているので利用してみてください。

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル