CodeItBetter Programming Another VB Programming Blog

File Copy API with Progress Dialog

Posted on June 24, 2011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
'File/Folders Handling - File Copy API with Progress Dialog
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
End Type
 
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" _
    (lpFileOp As SHFILEOPSTRUCT) As Long
 
Private Const FOF_ALLOWUNDO = &H40
Private Const FOF_NOCONFIRMATION = &H10
Private Const FO_COPY = &H2
 
Public Function ShellFileCopy(src As String, dest As String, _
    Optional NoConfirm As Boolean = False) As Boolean
'PARAMETERS:    src: Source File (FullPath)
'               dest: Destination File (FullPath)
'               NoConfirm (Optional): If set to true, no confirmation box is displayed when
'               overwriting existing files, and no copy progress dialog box is displayed
'Returns:       True if Successful; False otherwise;

    Dim WinType_SFO As SHFILEOPSTRUCT
    Dim lRet As Long
    Dim lflags As Long
 
    lflags = FOF_ALLOWUNDO
    If NoConfirm Then lflags = lflags & FOF_NOCONFIRMATION
    With WinType_SFO
        .wFunc = FO_COPY
        .pFrom = src
        .pTo = dest
        .fFlags = lflags
    End With
 
    lRet = SHFileOperation(WinType_SFO)
    ShellFileCopy = (lRet = 0)
End Function
 
'How can I call this function:
'Dim bSuccess as boolean
'bSuccess = ShellFileCopy ("C:\MyFile.txt", "D:\MyFile.txt")
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


 

No trackbacks yet.