Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As LonglpFileOp
Pointer to an SHFILEOPSTRUCT structure that contains information the function needs to carry out the operation.Performs a copy, move, rename, or delete operation on a file system object. 

解决方案 »

  1.   

    copy all files and sub_directory to another directory
    Private Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As LongPrivate Const FO_COPY = &H2Private Const FOF_ALLOWUNDO = &H40Private Const FOF_NOCONFIRMMKDIR = &H200
    Private Type SHFILEOPSTRUCT
            hwnd As Long
            wFunc As Long
            pFrom As String
            pTo As String
            fFlags As Integer
            fAnyOperationsAborted As Long
            hNameMappings As Long
            lpszProgressTitle As String '  only used if FOF_SIMPLEPROGRESS
    End Type
    Private Sub Command1_Click()
        Dim SHFileOp As SHFILEOPSTRUCT
        SHFileOp.wFunc = FO_COPY
        SHFileOp.pFrom = "c:\temp\*.*"
        SHFileOp.pTo = "c:\temp2\*.*"
        SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
        SHFileOperation SHFileOp
    End Sub
      

  2.   

    不行,复制不了!
    而且我想的效果是:把一个目录包括下面的所有文件复制成为一个类似xxx.dat的文件!~
    很感谢您的热心帮助!希望能继续赐教!~谢谢~!
      

  3.   

    把所有文件存到mdb数据库中,然后将这个库文件备份就行了.
      

  4.   

    先定义一个记录类型,如
    type DaBao
        FileCount as long
        CountSize as long
    end typetype   FileInfo
          FileName as string
          filesize  as long
    end type
    1、扫描文件夹下的所有文件,并求出总计字节 ,把文件总数写入Dabao.filecount
    文件总字节写入Dabao.countsize
    2、建立一新文件,写入dabao
    3、把每个文件名和文件字节写入fileinfo
    4、把fileinfo写写入新文件
    5、读入其它文件并写入新文件通过以上步骤应该已经可以进行打包,并且通过读取dabao和fileinfo可以进行解包