我用FileSystemObject拷贝一个几百M的文件, 中间的延时, 很有可能让用户觉得是死了, 怎么样才能加一个进度条?或用其他方式表现出来.由于只有一个文件, Doevents好像不起做用吧~~~ :(
解决方案 »
- vb 读取XML中指定的内容
- 真是奇怪了,我怎么看不见回复的呢?
- 如何自定义“打开”对话框的界面样式呢?
- 在第一个输入框中,输入某些特定值后回车,自动填充到后面的其他输入框?具体见内容..(高分求救)
- 心情好,第一个就是幸运者,呵呵
- ***************刚才去厕所的时候,我被那一幕惊呆了,我的天啊******************
- 用input函数读取中文的问题
- 关于activereport:不用ADO控件绑field控件,用代码实现。请大家指导!
- 如何使用UpdateResource 函数来修改 exe文件 信的螃蟹等你吃!
- 打印时,如何做连打
- 为什么要用SET TEXTSIZE 123456789函数?
- 如何修改菜单的背景颜色?
2、也可以用进度条:
http://search.csdn.net/Expert/topic/1716/1716677.xml?temp=.4785578
Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long或者使用多线程来拷贝
Attribute VB_Name = "modCopy"Public Const FO_MOVE As Long = &H1
Public Const FO_COPY As Long = &H2
Public Const FO_DELETE As Long = &H3
Public Const FO_RENAME As Long = &H4
Public Const FOF_MULTIDESTFILES As Long = &H1
Public Const FOF_CONFIRMMOUSE As Long = &H2
Public Const FOF_SILENT As Long = &H4
Public Const FOF_RENAMEONCOLLISION As Long = &H8
Public Const FOF_NOCONFIRMATION As Long = &H10
Public Const FOF_WANTMAPPINGHANDLE As Long = &H20
Public Const FOF_CREATEPROGRESSDLG As Long = &H0
Public Const FOF_ALLOWUNDO As Long = &H40
Public Const FOF_FILESONLY As Long = &H80
Public Const FOF_SIMPLEPROGRESS As Long = &H100
Public Const FOF_NOCONFIRMMKDIR As Long = &H200Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Long
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String
End TypeDeclare Function SHFileOperation Lib "Shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
VERSION 5.00
Begin VB.Form frmCopy
Caption = "Copy Files"
ClientHeight = 2430
ClientLeft = 1545
ClientTop = 1545
ClientWidth = 6585
LinkTopic = "Form1"
ScaleHeight = 2430
ScaleWidth = 6585
Begin VB.CommandButton Command1
Caption = "Copy Files"
Height = 735
Left = 2160
TabIndex = 0
Top = 1320
Width = 1575
End
Begin VB.Label Label1
Caption = $"frmCopy.frx":0000
Height = 615
Left = 360
TabIndex = 1
Top = 480
Width = 5415
End
End
Attribute VB_Name = "frmCopy"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim result As Long, fileop As SHFILEOPSTRUCT
With fileop
.hwnd = Me.hwnd
.wFunc = FO_COPY
.pFrom = "C:\PROGRAM FILES\MICROSOFT VISUAL BASIC\VB.HLP" & vbNullChar & "C:\PROGRAM FILES\MICROSOFT VISUAL BASIC\README.HLP" & vbNullChar & vbNullChar
.pFrom = "C:\*.*" & vbNullChar & vbNullChar
.pTo = "C:\testfolder" & vbNullChar & vbNullChar
.fFlags = FOF_SIMPLEPROGRESS Or FOF_FILESONLY
End With
result = SHFileOperation(fileop)
If result <> 0 Then
' Operation failed
MsgBox Err.LastDllError
Else
If fileop.fAnyOperationsAborted <> 0 Then
MsgBox "Operation Failed"
End If
End If
End Sub
Type=Exe
Form=frmCopy.frm
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\SYSTEM\STDOLE2.TLB#OLE Automation
Module=modCopy; modCopy.bas
Startup="frmCopy"
HelpFile=""
ExeName32="FileCopy.exe"
Command32=""
Name="FileCopy"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="Sunrite"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
ThreadPerObject=0
MaxNumberOfThreads=1'********** 調用系統的進度條進行顯示**************
'**********END************************************