VB6
lzhファイルに圧縮する
注意:以下のサンプルを実行するにはシステムにUnlha32.dllがインストールされている必要があります。
以下の関数LhaPressを使うと、ファイルやフォルダをlha形式(拡張子lzh)のファイルに圧縮することができる。
使用例
Call LhaPress("C:\test\A.txt", "C:\Press.lzh")
Private
Declare Function Unlha Lib
"Unlha32.dll" (ByVal hWnd
As Long, ByVal
szCmdLine As String,
ByVal szOutput As String,
ByVal dwSize As Long)
As Long '■LhaPress '■機能:ファイルやフォルダをLha形式で圧縮する '■引数:SourceFileName 対象となるファイル名またはフォルダをフルパスで指定。 '■ ワイルドカード可。 '■ フォルダ指定の場合 C:\Folder のように指定すると上位フォルダも含むフォルダツリーごと圧縮されます。 '■ 同じようでも C:\Folder\と指定した場合は上位フォルダを含まないフォルダツリーごと圧縮されます。 '■ TargetFolderName 出力するLhaファイルのフルパス '■ hWnd 省略可。オーナーウィンドウのハンドル '■ Form1.hWndのように指定してください。指定されたウィンドウは解凍動作中に操作できなくなります。 Public Sub LhaPress(SourceFileName As String, TargetFileName As String, Optional hWnd As Long) Dim strSwitch As String Dim strOptions As String Dim strCommandLine As String Dim strBuffer As String * 1024 strSwitch = "a" strOptions = "-x1 -r2" strCommandLine = strSwitch & " " & strOptions & " """ & TargetFileName & """ """ & SourceFileName & """" Call Unlha(hWnd, strCommandLine, strBuffer, Len(strBuffer)) End Sub |