Visual Basic6 リファレンス
|
VB6 ZIPファイル解凍操作
API(UNZIP32.DLL)を使ったZIPファイルの解凍操作 |
Unzip32 API UNZIP32.DLL が必要です。 Download ソースはVB6用で記述しています。VB.NET以降のバージョンは型宣言に注意してください (VB6:Long → VB.NET以降:Integer) (VB6:Integer → VB.NET以降:Short) |
お品書き |
● 標準モジュール | ZIP(API)用の標準モジュールのソース |
● サンプルリスト | ZIPファイルを解凍するサンプル プログラム |
● Unzip | >ZIPファイルを解凍 |
● UnZipGetVersion | UNZIP32.DLLのバージョンを取得 |
● 標準モジュール(エラー定数) | ZIP(API)用の標準モジュール(エラー定数)のソース |
● API定義 標準モジュール '=============== ' ZIPファイルを解凍する '=============== Public Declare Function UnZip Lib "unzip32" _ (ByVal hwnd As Long, ByVal szCmdLine As String, _ ByVal szOutput As String, ByVal dwSize As Long) As Long '=========================== ' UNZIP32.DLLのバージョン情報を取得する '=========================== Public Declare Function UnZipGetVersion Lib "unzip32" () As Integer |
● ZIPファイルを解凍するサンプル プログラム '========================= ' ZIPファイルを指定のフォルダに解凍する '========================= Dim result As Long '戻り値 (成功:0 失敗:エラーコード) result = UnZip(Me.hwnd, "-o c:¥test¥sample.zip c:¥wk¥", "", 0) '解凍 If (result <> 0) Then MsgBox "Error/Warning : 0x" & Hex(result) |
● Unzip APIメソッド
※ 失敗、もしくは、ユーザキャンセルした場合は、エラーコードが返ります。Err.LastDllErrorには、エラーコードはセットされません。 ※ フォルダやファイル名にスペースがある場合は、ダブルクォーテーションで囲みます。 Chr(34) & "c:¥Program Files¥sample.zip" & Chr(34) & " " & Chr(34) & "c:¥My Documents¥" & Chr(34) |
● UnZipGetVersion APIメソッド
※ 戻り値のバージョンは、版数に 100 を掛けたものが返ってきます。 |
● エラー定数 標準モジュール 'Constants - The Unzip32 functions return error codes. '/* WARNING */ Private Const ERROR_DISK_SPACE = &H8005& Private Const ERROR_READ_ONLY = &H8006& Private Const ERROR_USER_SKIP = &H8007& Private Const ERROR_UNKNOWN_TYPE = &H8008& Private Const ERROR_METHOD = &H8009& Private Const ERROR_PASSWORD_FILE = &H800A& Private Const ERROR_VERSION = &H800B& Private Const ERROR_FILE_CRC = &H800C& Private Const ERROR_FILE_OPEN = &H800D& Private Const ERROR_MORE_FRESH = &H800E& Private Const ERROR_NOT_EXIST = &H800F& Private Const ERROR_ALREADY_EXIST = &H8010& Private Const ERROR_TOO_MANY_FILES = &H8011& '/* ERROR */ Private Const ERROR_MAKEDIRECTORY = &H8012& Private Const ERROR_CANNOT_WRITE = &H8013& Private Const ERROR_HUFFMAN_CODE = &H8014& Private Const ERROR_COMMENT_HEADER = &H8015& Private Const ERROR_HEADER_CRC = &H8016& Private Const ERROR_HEADER_BROKEN = &H8017& Private Const ERROR_ARC_FILE_OPEN = &H8018& Private Const ERROR_NOT_ARC_FILE = &H8019& Private Const ERROR_CANNOT_READ = &H801A& Private Const ERROR_FILE_STYLE = &H801B& Private Const ERROR_COMMAND_NAME = &H801C& Private Const ERROR_MORE_HEAP_MEMORY = &H801D& Private Const ERROR_ENOUGH_MEMORY = &H801E& Private Const ERROR_ALREADY_RUNNING = &H801F& Private Const ERROR_USER_CANCEL = &H8020& Private Const ERROR_HARC_ISNOT_OPENED = &H8021& Private Const ERROR_NOT_SEARCH_MODE = &H8022& Private Const ERROR_NOT_SUPPORT = &H8023& Private Const ERROR_TIME_STAMP = &H8024& Private Const ERROR_TMP_OPEN = &H8025& Private Const ERROR_LONG_FILE_NAME = &H8026& Private Const ERROR_ARC_READ_ONLY = &H8027& Private Const ERROR_SAME_NAME_FILE = &H8028& Private Const ERROR_NOT_FIND_ARC_FILE = &H8029& Private Const ERROR_RESPONSE_READ = &H802A& Private Const ERROR_NOT_FILENAME = &H802B& |