| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> vb >> 文件 >> 文章正文
如何用程序来Delete Copy Move Rename File/Directory            【字体:
如何用程序来Delete Copy Move Rename File/Directory
作者:-    文章来源:-    点击数:    更新时间:2006-6-8

原始来源:王国荣   cww 更改

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
'wFunc 的设定值
'FO_COPY     Copies the files specified by pFrom to the location specified by pTo.
'FO_DELETE   Deletes the files specified by pFrom (pTo is ignored).
'FO_MOVE     Moves the files specified by pFrom to the location specified by pTo.
'FO_RENAME   Renames the files specified by pFrom.

'fFlag的设定
'FOF_ALLOWUNDO           Preserves undo information, if possible.
'FOF_FILESONLY           Performs the operation only on files if a wildcard filename
'                        (*.*) is specified.
'FOF_MULTIDESTFILES      Indicates that the pTo member specifies multiple destination
'                        files (one for each source file) rather than one directory where
'                        all source files are to be deposited.
'FOF_NOCONFIRMATION      Responds with "yes to all" for any dialog box that is displayed.
'FOF_NOCONFIRMMKDIR      Does not confirm the creation of a new directory if
'                        the operation requires one to be created.
'FOF_RENAMEONCOLLISION   Gives the file being operated on a new name (such as
'                        "Copy #1 of...") in a move, copy, or rename operation
'                        if a file of the target name already exists.
'FOF_SILENT              Does not display a progress dialog box.
'FOF_SIMPLEPROGRESS      Displays a progress dialog box, but does not show the
'                        filenames.
'FOF_WANTMAPPINGHANDLE   Fills in the hNameMappings member. The handle must be
'                        freed by using the SHFreeNameMappings function.

Const FO_MOVE = &H1
Const FO_COPY = &H2
Const FO_DELETE = &H3
Const FOF_NOCONFIRMATION = &H10
Const FOF_NOCONFIRMMKDIR = &H200
Const FOF_ALLOWUNDO = &H40
Const FOF_SILENT = &H4


Private Declare Function SHFileOperation Lib "shell32.dll" Alias _
                "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

'删除 test目录及其底下的子目录到资源回收桶
Private Sub Command1_Click()
    Dim SHFileOp As SHFILEOPSTRUCT

    SHFileOp.wFunc = FO_DELETE
    SHFileOp.pFrom = "c:\test" + Chr(0)
    '不出现档案删除的动态AVI,且不Confirm
    SHFileOp.fFlags = FOF_SILENT + FOF_ALLOWUNDO + FOF_NOCONFIRMATION
    '若没有 FOF_ALLOWUNDO 则不会到资源回收桶
    Call SHFileOperation(SHFileOp)
End Sub

'同时删除多档到资源回收桶
Private Sub Command2_Click()
    Dim SHFileOp As SHFILEOPSTRUCT
    Dim Files As String
    'Files = "c:\test.txt" + Chr(0)
    Files = "c:\test1.txt" + Chr(0) + "c:\test2.txt" + Chr(0) + _
            "c:\test3.txt" + Chr(0)
    SHFileOp.wFunc = FO_DELETE
    SHFileOp.pFrom = Files
    '删至资源回收桶,且不Confirm
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
    Call SHFileOperation(SHFileOp)
End Sub

'将 c:\temp 整个目录复制到 c:\temp2
Private Sub Command3_Click()
    Dim SHFileOp As SHFILEOPSTRUCT

    SHFileOp.wFunc = FO_COPY
    SHFileOp.pFrom = "c:\temp\*.*"
    SHFileOp.pTo = "c:\temp2\*.*"
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
    Call SHFileOperation(SHFileOp)
End Sub

'将 c:\test4.txt 快速移到 c:\temp 目录
Private Sub Command4_Click()
    Dim SHFileOp As SHFILEOPSTRUCT

    SHFileOp.wFunc = FO_MOVE
    SHFileOp.pFrom = "c:\test4.txt" + Chr(0)
    SHFileOp.pTo = "c:\temp"
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
    Call SHFileOperation(SHFileOp)
End Sub

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 用VB编写DirectX7.0游戏(下…

  • 用VB编写DirectX7.0游戏(上…

  • 使用OLE DB和ADO调用返回记录…

  • 使用VB调用Oracle程序包内的…

  • VB中用ADO对象动态创建数据库…

  • fffff

  • 如何用MSComm Control传Bina…

  • MultiLink的WinSock Server程…

  • 用VB制作浏览器

  • 用VB编写网络寻呼机

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |