`
free_bird816
  • 浏览: 205908 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

 
阅读更多


Option   Explicit  

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  FOF_SIMPLEPROGRESS  =   & H100 

Private   Const  FO_COPY  =   & H2 
Private   Const  FO_MOVE  =   & H1 

' -------------------------------------------------------------------------------- 
'
 过程: ShellFileCopy 
'
 描述: 复制文件,并显示“正在复制”进度条对话框 
'
 返回: [Boolean] True为复制成功,False为复制失败 
'
 
'
 参数: 
'
     Src (String)                      要复制的源文件 
'
     Dest (String)                     要复制到的位置 
'
     hWnd (Long)                       父窗体的句柄(可选) 
'
     NoShowText (Boolean = False)      是否不显示复制的文件名 
'
     NoConfirm (Boolean = False)       是否不显示确认对话框 
'
 
'
-------------------------------------------------------------------------------- 
Public   Function  ShellFileCopy(Src  As   String , Dest  As   String , _ 
       Optional hWnd 
As   Long , _ 
       Optional NoShowText 
As   Boolean   =   False , _ 
       Optional NoConfirm 
As   Boolean   =   False As   Boolean  

    
Dim  SFO  As  SHFILEOPSTRUCT 
    
Dim  lRet  As   Long  
    
Dim  lflags  As   Long  

    lflags 
=  FOF_ALLOWUNDO 

    
If  NoShowText  Then  lflags  =  lflags  Or  FOF_SIMPLEPROGRESS 

    
If  NoConfirm  Then  lflags  =  lflags  Or  FOF_NOCONFIRMATION 

    
With  SFO 

        .wFunc 
=  FO_COPY 
        .pFrom 
=  Src 
        .pTo 
=  Dest 
        .fFlags 
=  lflags 
         
    
End   With  

    lRet 
=  SHFileOperation(SFO) 
    ShellFileCopy 
=  (lRet  =   0

End Function  

' -------------------------------------------------------------------------------- 
'
 过程: ShellFileMove 
'
 描述: 移动文件,并显示“正在移动”进度条对话框 
'
 返回: [Boolean] True为移动成功,False为移动失败 
'
 
'
 参数: 
'
     Src (String)                      要移动的源文件 
'
     Dest (String)                     要移动到的位置 
'
     hWnd (Long)                       父窗体的句柄(可选) 
'
     NoShowText (Boolean = False)      是否不显示移动的文件名 
'
     NoConfirm (Boolean = False)       是否不显示确认对话框 
'
 
'
-------------------------------------------------------------------------------- 
Public   Function  ShellFileMove(Src  As   String , Dest  As   String , _ 
       Optional hWnd 
As   Long , _ 
       Optional NoShowText 
As   Boolean   =   False , _ 
       Optional NoConfirm 
As   Boolean   =   False As   Boolean  

    
Dim  SFO  As  SHFILEOPSTRUCT 
    
Dim  lRet  As   Long  
    
Dim  lflags  As   Long  

    lflags 
=  FOF_ALLOWUNDO 

    
If  NoShowText  Then  lflags  =  lflags  Or  FOF_SIMPLEPROGRESS 

    
If  NoConfirm  Then  lflags  =  lflags  Or  FOF_NOCONFIRMATION 

    
With  SFO 

        .wFunc 
=  FO_MOVE 
        .pFrom 
=  Src 
        .pTo 
=  Dest 
        .fFlags 
=  lflags 
         
    
End   With  

    lRet 
=  SHFileOperation(SFO) 
    ShellFileMove 
=  (lRet  =   0

End Function

注意Private Declare Function SHFileOperation Lib "shell32.dll"  _ 
        Alias 
" SHFileOperationA "  引号里的空格 ,一定要去掉
分享到:
评论

相关推荐

    android 进度条对话框

    在Android开发中,进度条对话框(ProgressDialog)是一种常见的用户界面元素,用于向用户显示一个正在进行的操作进度。这种对话框通常包含一个旋转的菊花图标或填充的进度条,以告知用户程序正在执行某个耗时任务,...

    Android代码-进度条对话框Demo.zip

    - `activity_main.xml`:主布局文件,可能没有直接的进度条元素,因为进度条通常在对话框中显示。 - `ProgressDialogDemo.java` 或 `ProgressDialogFragment.java`:包含进度条对话框的具体实现。 - `styles.xml`:...

    进度条对话框:通过Handler实现

    在Android开发中,当执行耗时操作如网络请求、大文件下载或数据库操作时,为了提升用户体验,我们通常会使用进度条对话框(ProgressDialog)来显示任务进度,告知用户当前操作的状态。这篇博客"进度条对话框:通过...

    Android 进度条对话框Demo.zip

    首先,`1-120Q2203J50-L.png`可能是一个截图,展示了进度条对话框在实际应用中的显示效果。这有助于开发者理解对话框的外观和功能。 `源码说明.txt`可能包含了关于项目源代码的简要说明,包括关键类和方法的解释,...

    Android 进度条对话框Demo.rar

    在Android开发中,进度条对话框(ProgressDialog)是一种常见的用户界面元素,用于向用户展示一个操作的进度,比如数据加载、文件下载或后台任务执行。这个"Android 进度条对话框Demo"很可能是包含了一个示例项目,...

    自定义进度条对话框

    本文将深入探讨如何创建并实现一个自定义的进度条对话框,以及在实际项目中的应用。 首先,我们要理解进度条对话框的基本概念。它是一种用户界面元素,用来显示某个任务的进行程度,通常以百分比的形式展示。用户...

    Android 进度条对话框示例源程序

    在Android开发中,进度条对话框(ProgressDialog)是一种常见的用户界面元素,用于向用户展示某个操作的进度,比如数据加载、文件下载等。本示例源程序提供了关于Android进度条对话框的实现,特别是如何根据操作阶段...

    进度条对话框

    在Android开发中,进度条对话框(ProgressDialog)是一种常见的用户界面元素,用于向用户显示一个正在后台执行的任务的进度。这种对话框通常包含一个旋转的菊花或者填充的水平条,来表示任务的进行状态。本篇文章将...

    Android进度条对话框Demo.rar

    当执行耗时操作如网络请求、文件下载或数据库操作时,使用进度条对话框可以避免用户在等待过程中感到不耐烦。在"Android进度条对话框Demo.rar"中,我们可能会找到如何在Android应用中实现这种功能的示例代码和资源。...

    Android ProgressDialog 进度条对话框的模拟实现和代码解析.rar

    Android ProgressDialog 进度条对话框的模拟实现和代码解析,此为例子源代码,在本例中实现进度条需要调用onPrepareDialog()方法和showDialog(),应用程序处理进度条指示功能。

    多线程保存文件、显示进度条、对话框大小可变 进度条

    在IT领域,尤其是在桌面应用程序和GUI(图形用户界面)开发中,"多线程保存文件、显示进度条、对话框大小可变"是常见的需求,它们涉及到程序性能优化、用户体验提升以及界面交互设计等多个关键点。下面将详细阐述...

    android dialog ——ProgressDialog 进度条对话框详解

    在Android开发中,ProgressDialog是一个非常常用的组件,它用于在用户执行长时间操作时显示一个带有进度条的对话框,提供一种良好的用户体验,让用户知道系统正在后台处理任务。在本篇文章中,我们将深入探讨...

    QT中进度条对话框等待耗时操作

    在用户执行一项可能需要较长时间才能完成的操作时,如数据处理、文件加载或网络通信,显示一个进度条对话框可以帮助缓解用户的焦虑,提供一种视觉反馈,表明应用程序正在后台进行工作并且没有崩溃。在QT框架下,我们...

    安卓Android源码——进度条对话框Demo源码.zip

    在这个Demo中,`res/layout`可能包含了一个特定的布局文件,用于定义进度条对话框的外观,例如使用`<ProgressBar>`标签来创建进度条,以及`<TextView>`来显示对话框的消息。 `.settings`目录包含了Eclipse项目特定...

    android 进度条对话框例子

    1.在ProgressDialog的源码里可以明显的看到,在STYLE_HORIZONTAL和STYLE_SPINNER分别显示的是不同的XML,这就意味着你的进度条要么是转圈,要么是条形的。 2.不管是上述的任何情况下,系统对各部分文字显示都已经...

    文件复制及进度条 android 文件复制 进度条 progressdialog

    在Android开发中,文件复制和进度条的显示是常见的需求,尤其在移动应用中,用户可能需要将数据从一个位置移动到另一个位置,或者在后台下载文件时展示进度。`ProgressDialog`是Android SDK提供的一种对话框组件,...

    调用进度条的对话框

    3. 添加进度条控件:在对话框初始化过程中,使用CreateWindowEx创建进度条控件,并将其添加到对话框中。 4. 设置进度条属性:可以调整最小值、最大值,以及初始位置,通过SetRange和SetPos函数实现。 5. 更新进度...

    进度条对话框.zip

    1.在ProgressDialog的源码里可以明显的看到,在STYLE_HORIZONTAL和STYLE_SPINNER分别显示的是不同的XML,这就意味着你的进度条要么是转圈,要么是条形的。 2.不管是上述的任何情况下,系统对各部分文字显示都已经...

Global site tag (gtag.js) - Google Analytics