特定のディレクトリごと圧縮し、アーカイブを生成します。 ただし、それぞれの圧縮アルゴリズムに対しdll(cab32.dll, Unlha32.dll等)が必要になります。
'-------------------------------------------------------------------------- '宣言 '-------------------------------------------------------------------------- '(ウィンドウハンドルの型 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=22503 ) Private Declare Function Cab Lib "cab32" (ByVal hwnd As IntPtr, ByVal pszCmdLine As String, ByVal pszOutput As String, ByVal dwSize As Long) As Long Public Declare Function ZipUnZip Lib "Zip32" (ByVal hWnd As IntPtr, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer Public Declare Function Unlha Lib "Unlha32" (ByVal hWnd As IntPtr, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer Private Setting As New SettingManagerXML() '-------------------------------------------------------------------------- '圧縮ファイルの生成 'http://tokyo.cool.ne.jp/kanain/APIHTM/Cab.html 'http://www.geocities.co.jp/SiliconValley-SanJose/1892/pc/archive.html ' Private Sub btn_Compress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Compress.Click Cab(Handle, "-a -j " + compressed_filename + " " + source_directory, "", 0) End Sub