怎么出现windows删除文件夹时的对话框进度条?

解决方案 »

  1.   

    试试下面:
    Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (glpFileOp As SHFILEOPSTRUCT) As LongPublic Type SHFILEOPSTRUCT
      hwnd As Long
      wFunc As Long
      PFrom As String
      PTo As String
      FFlags As Integer
      fAnyOperationsAborted As Boolean
      hNameMappings As Long
      lpszProgressTitle As String
    End Type
    Public glpFile As SHFILEOPSTRUCT'wFunc:指定操作类型,可以取以下各值:
    Public Const FO_MOVE = 1 ': 移动
    Public Const FO_COPY = 2 ': 拷贝
    Public Const FO_DELETE = 3 ': 删除
    Public Const FO_RENAME = 4 ': 重命名'PFrom: 操作的源路径
    'PTo: 操作的目标路径'FFlags:操作参数,可以取以下各值:
    Public Const FOF_MULTIDESTFILES = &H1 ': 目标文件为多个文件
    Public Const FOF_SILENT = &H4 ': 不显示进度指示条?
    Public Const FOF_RENAMEONCOLLISION = &H8 ': 当目标文件或目录已经存在进重命名文件或目录?
      

  2.   

    使用 SHFileOperation 函数
    Private Declare Function SHFileOperation Lib "Shell32.dll" Alias "SHFileOperationA" (lpFileOp As Any) As LongPublic Const FO_COPY = &H2&   '拷贝文件。所要拷贝的文件由pFrom成员指定,目的地址有pTo成员指定
    Public Const FO_DELETE = &H3& '删除pFrom指定的文件。(pTo 被忽略。)
    Public Const FO_MOVE = &H1&   '移动文件。所要移动的文件由pFrom成员指定,目的地址有pTo成员指定
    Public Const FO_RENAME = &H4& '改名pFrom指定的文件
    Public Const FOF_ALLOWUNDO = &H40&    '允许恢复
    Public Const FOF_CONFIRMMOUSE = &H2&
    Public Const FOF_CREATEPROGRESSDLG = &H0&
    Public Const FOF_FILESONLY = &H80&    '如果使用了*.*,只操作文件。
    Public Const FOF_MULTIDESTFILES = &H1& 'pTo成员可以为多个目的文件
    Public Const FOF_NOCONFIRMATION = &H10& '不显示确认对话框。
    Public Const FOF_NOCONFIRMMKDIR = &H200& '不确认是否建立目录
    Public Const FOF_RENAMEONCOLLISION = &H8& '如果目的文件已经存在,给要处理的文件一个新名字
    Public Const FOF_SILENT = &H4&            '不显示进度对话框
    Public Const FOF_SIMPLEPROGRESS = &H100&  '显示进度框,但不显示文件名
    Public Const FOF_WANTMAPPINGHANDLE = &H20&
    'FOF_NOERRORUI - 如果有错误,不显示用户界面
    Public Type SHFILEOPSTRUCT
       hwnd As Long
       wFunc As Long
       pFrom As String           '指定文件名的缓冲区的地址。必须以Chr(0)结尾。如果包括多个文件以Chr(0)分割
       pTo As String             '指定目的文件名或目录的缓冲区的地址。必须以Chr(0)结尾。如果使用了FOF_MULTIDESTFILES标志,可以包括多个文件名,文件名之间以Chr(0)分割
       fFlags As Integer
       fAnyOperationsAborted As Long '如果用户退出,该成员为TRUE,否则为FALSE
       hNameMappings As Long
       lpszProgressTitle As String '进度框的标题,只有选择了FOF_SIMPLEPROGRESS标志才有效
    End Type
      

  3.   

    http://member.netease.com/~kenj/FB.htm