圧縮ファイルを操作しよう
Ver 1.1 今後ほかの命令、オプションについてもサポート予定です。
New 解凍・圧縮状況ウィンドウが表示されるようになりました!!
<多機能圧縮ソフトを作ろう>
宣 言 |
(Private) Declare Function Unlha Lib "UNLHA32.DLL" (ByVal Callhwnd As Long, ByVal LHACommand As String, ByVal RetBuff As String, ByVal RetBuffSize As Long) As Long |
引 数 説 明 |
Callhwnd |
Long |
Unlhaを呼び出すアプリケーションのウィンドウハンドル(例:Form1.hwnd) |
LHACommand |
String |
Unlhaに渡すコマンドの文字列。DOS版LHAと同様のものが指定可能。 |
RetBuff |
String |
Unlhaが結果を返すための変数 |
RetBuffSize |
Long |
RetString$の大きさ(Dim RetStr as string*255の「255」の部分が大きさとなる) |
LHACommandに関する追加説明 |
CallCommand$に次のコードを指定することで、次の機能が実現できます。
コード |
機能 |
使用頻度 |
a c:\file.lzh c:\file\*.* |
c:\file\のすべてのファイルをc:\file.lzhという名前で圧縮する |
A |
e c:\file.lzh c:\file\ |
c:\file.lzhというファイルをc:\fileディレクトリーに解凍する |
A |
まだまだオプションや命令はたくさんあるのですが、数が多すぎて説明できません。ここで説明する数は増やしていくつもりですが、詳しく知りたい方はUnlhaに付属のテキストファイルを参照してください。
サ ン プ ル プ ロ グ ラ ム |
動作確認:Visual Basic 5.0(Visual Basic 4.0でも問題なく動作するはずです),Windows98
Option Explicit Private Declare Function Unlha Lib "UNLHA32.DLL" (ByVal Callhwnd As Long, ByVal LHACommand As String, ByVal RetBuff As String, ByVal RetBuffSize As Long) As Long Private Sub Form_Click() Dim Ret As String * 255 Dim SendStr As String SendStr = "a c:\file\file.lzh c:\file\*.*" 'c:\file\ディレクトリーのファイルを圧縮する場合 'SendStr = "e c:\file.lzh c:\file\" 'c:\file.lzhというファイルを解凍したい場合は"'"をとってください Unlha Form1.hWnd, SendStr, Ret, 255 'UnLHA実行 End Sub |
<更新履歴>
Ver 1.0 とりあえず公開
Ver 1.1 Ver 1.0のバグフィックス