+ -
当前位置:首页 → 问答吧 → VB如调用API复制文件,并可以判断文件已经复制成功!

VB如调用API复制文件,并可以判断文件已经复制成功!

时间:2011-08-18

来源:互联网

各位大侠,如题。。。!请大家帮帮忙~~~~小的感激不尽。。。。

作者: ljl861025   发布时间: 2011-08-18

VB code
'┏〓〓〓〓〓〓〓〓〓 ApiCopyFile,start 〓〓〓〓〓〓〓〓〓┓
'[定义]:
Public 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 '只有在 FOF_SIMPLEPROGRESS 时用
  End Type
    
  Public Declare Function SHFileOperation Lib _
  "shell32.dll" Alias "SHFileOperationA" (lpFileOp _
  As SHFILEOPSTRUCT) As Long
    
  Public Const FO_COPY = &H2
    
  Public Const FOF_ALLOWUNDO = &H40
  Public Const FOF_NOCONFIRMATION = &H10
  Public Const FOF_NOCONFIRMMKDIR = &H200
  Public Const FOF_SILENT = &H4
'[简介]:
'API方式复制文件
Function ApiCopyFile(ByVal FromFile As String, ByVal ToFile As String, Optional ShowCopy As Boolean = True, Optional DelOld As Boolean = True) As Boolean
   '[mycode_id:1967],edittime:2011-8-18 上午 05:06:03
   '[详介]:
   '如果想不显示复制进度,ShowCopy参数设为FALSE
     On Error GoTo Err
     If Dir(ToFile) <> "" Then
       If DelOld Then
       Kill ToFile
       Else
       ApiCopyFile = True
       End If
     End If
     Dim SHFileOp As SHFILEOPSTRUCT '拷贝例子:
     SHFileOp.wFunc = FO_COPY
     SHFileOp.pFrom = FromFile
     SHFileOp.pTo = ToFile
     If ShowCopy Then
     Else
       SHFileOp.fFlags = FOF_NOCONFIRMMKDIR + FOF_SILENT '不显示系统确认对话框
     End If
     Call SHFileOperation(SHFileOp)
     ApiCopyFile = Dir(ToFile) <> ""
     Exit Function
   Err:
End Function
'┗〓〓〓〓〓〓〓〓〓  ApiCopyFile,end  〓〓〓〓〓〓〓〓〓┛

作者: xiaoyao961   发布时间: 2011-08-18

[code=VB][/code]'┏〓〓〓〓〓〓〓〓〓 ApiCopyFile,start 〓〓〓〓〓〓〓〓〓┓
'[定义]:
Public 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 '只有在 FOF_SIMPLEPROGRESS 时用
  End Type
   
  Public Declare Function SHFileOperation Lib _
  "shell32.dll" Alias "SHFileOperationA" (lpFileOp _
  As SHFILEOPSTRUCT) As Long
   
  Public Const FO_COPY = &H2
   
  Public Const FOF_ALLOWUNDO = &H40
  Public Const FOF_NOCONFIRMATION = &H10
  Public Const FOF_NOCONFIRMMKDIR = &H200
  Public Const FOF_SILENT = &H4
'[简介]:
'API方式复制文件
Function ApiCopyFile(ByVal FromFile As String, ByVal ToFile As String, Optional ShowCopy As Boolean = True, Optional DelOld As Boolean = True) As Boolean
  '[mycode_id:1967],edittime:2011-8-18 上午 05:06:03
  '[详介]:
  '如果想不显示复制进度,ShowCopy参数设为FALSE
  On Error GoTo Err
  If Dir(ToFile) <> "" Then
  If DelOld Then
  Kill ToFile
  Else
  ApiCopyFile = True
  End If
  End If
  Dim SHFileOp As SHFILEOPSTRUCT '拷贝例子:
  SHFileOp.wFunc = FO_COPY
  SHFileOp.pFrom = FromFile
  SHFileOp.pTo = ToFile
  If ShowCopy Then
  Else
  SHFileOp.fFlags = FOF_NOCONFIRMMKDIR + FOF_SILENT '不显示系统确认对话框
  End If
  Call SHFileOperation(SHFileOp)
  ApiCopyFile = Dir(ToFile) <> ""
  Exit Function
  Err:
End Function
'┗〓〓〓〓〓〓〓〓〓 ApiCopyFile,end 〓〓〓〓〓〓〓〓〓┛

作者: xiaoyao961   发布时间: 2011-08-18

热门下载

更多