复制/移动文件,并显示相应的进度条对话框(转载)



None.gif Option   Explicit  
None.gif
None.gif
Private  Type SHFILEOPSTRUCT 
None.gif        hWnd 
As   Long  
None.gif        wFunc 
As   Long  
None.gif        pFrom 
As   String  
None.gif        pTo 
As   String  
None.gif        fFlags 
As   Integer  
None.gif        fAnyOperationsAborted 
As   Long  
None.gif        hNameMappings 
As   Long  
None.gif        lpszProgressTitle 
As   String  
None.gif
End  Type 
None.gif
None.gif
Private  Declare  Function  SHFileOperation Lib  " shell32.dll "  _ 
None.gif        Alias 
" SHFileOperationA "  (lpFileOp  As  SHFILEOPSTRUCT)  As   Long  
None.gif
None.gif
Private   Const  FOF_ALLOWUNDO  =   & H40 
None.gif
Private   Const  FOF_NOCONFIRMATION  =   & H10 
None.gif
Private   Const  FOF_SIMPLEPROGRESS  =   & H100 
None.gif
None.gif
Private   Const  FO_COPY  =   & H2 
None.gif
Private   Const  FO_MOVE  =   & H1 
None.gif
None.gif
' -------------------------------------------------------------------------------- 
None.gif'
 过程: ShellFileCopy 
None.gif'
 描述: 复制文件,并显示“正在复制dot.gif”进度条对话框 
None.gif'
 返回: [Boolean] True为复制成功,False为复制失败 
None.gif'
 
None.gif'
 参数: 
None.gif'
     Src (String)                      要复制的源文件 
None.gif'
     Dest (String)                     要复制到的位置 
None.gif'
     hWnd (Long)                       父窗体的句柄(可选) 
None.gif'
     NoShowText (Boolean = False)      是否不显示复制的文件名 
None.gif'
     NoConfirm (Boolean = False)       是否不显示确认对话框 
None.gif'
 
None.gif'
-------------------------------------------------------------------------------- 
None.gif
Public   Function  ShellFileCopy(Src  As   String , Dest  As   String , _ 
None.gif       Optional hWnd 
As   Long , _ 
None.gif       Optional NoShowText 
As   Boolean   =   False , _ 
None.gif       Optional NoConfirm 
As   Boolean   =   False As   Boolean  
None.gif
None.gif    
Dim  SFO  As  SHFILEOPSTRUCT 
None.gif    
Dim  lRet  As   Long  
None.gif    
Dim  lflags  As   Long  
None.gif
None.gif    lflags 
=  FOF_ALLOWUNDO 
None.gif
None.gif    
If  NoShowText  Then  lflags  =  lflags  Or  FOF_SIMPLEPROGRESS 
None.gif
None.gif    
If  NoConfirm  Then  lflags  =  lflags  Or  FOF_NOCONFIRMATION 
None.gif
None.gif    
With  SFO 
None.gif
None.gif        .wFunc 
=  FO_COPY 
None.gif        .pFrom 
=  Src 
None.gif        .pTo 
=  Dest 
None.gif        .fFlags 
=  lflags 
None.gif         
None.gif    
End   With  
None.gif
None.gif    lRet 
=  SHFileOperation(SFO) 
None.gif    ShellFileCopy 
=  (lRet  =   0
None.gif
None.gif
End Function  
None.gif
None.gif
' -------------------------------------------------------------------------------- 
None.gif'
 过程: ShellFileMove 
None.gif'
 描述: 移动文件,并显示“正在移动dot.gif”进度条对话框 
None.gif'
 返回: [Boolean] True为移动成功,False为移动失败 
None.gif'
 
None.gif'
 参数: 
None.gif'
     Src (String)                      要移动的源文件 
None.gif'
     Dest (String)                     要移动到的位置 
None.gif'
     hWnd (Long)                       父窗体的句柄(可选) 
None.gif'
     NoShowText (Boolean = False)      是否不显示移动的文件名 
None.gif'
     NoConfirm (Boolean = False)       是否不显示确认对话框 
None.gif'
 
None.gif'
-------------------------------------------------------------------------------- 
None.gif
Public   Function  ShellFileMove(Src  As   String , Dest  As   String , _ 
None.gif       Optional hWnd 
As   Long , _ 
None.gif       Optional NoShowText 
As   Boolean   =   False , _ 
None.gif       Optional NoConfirm 
As   Boolean   =   False As   Boolean  
None.gif
None.gif    
Dim  SFO  As  SHFILEOPSTRUCT 
None.gif    
Dim  lRet  As   Long  
None.gif    
Dim  lflags  As   Long  
None.gif
None.gif    lflags 
=  FOF_ALLOWUNDO 
None.gif
None.gif    
If  NoShowText  Then  lflags  =  lflags  Or  FOF_SIMPLEPROGRESS 
None.gif
None.gif    
If  NoConfirm  Then  lflags  =  lflags  Or  FOF_NOCONFIRMATION 
None.gif
None.gif    
With  SFO 
None.gif
None.gif        .wFunc 
=  FO_MOVE 
None.gif        .pFrom 
=  Src 
None.gif        .pTo 
=  Dest 
None.gif        .fFlags 
=  lflags 
None.gif         
None.gif    
End   With  
None.gif
None.gif    lRet 
=  SHFileOperation(SFO) 
None.gif    ShellFileMove 
=  (lRet  =   0
None.gif
None.gif
End Function

注意Private Declare Function SHFileOperation Lib "shell32.dll"  _ 
None.gif        Alias 
" SHFileOperationA "  引号里的空格 ,一定要去掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值