自己写一个 Copy:
关于如何用ProgressBar控件实现对拷贝中的文件大小的监测
http://www.csdn.net/expert/topic/60/60966.shtm 或 Windows Shell API
关于如何用ProgressBar控件实现对拷贝中的文件大小的监测
http://www.csdn.net/expert/topic/60/60966.shtm 或 Windows Shell API
解决方案 »
- VB如何通过复制粘贴获得网页的源代码
- 高分请求各位:关于msflexgrid控件的问题?
- 请问如何在DataGrid控件里加上选择?
- 各位大师,请想办法,帮我解决这个记录集定位的问题。谢谢你们了。急
- 求助--关于语言显示的问题
- 请指教:如何在vb中显示gif图片
- 请问高手关于在Word中,我如何准确的选中某一行?
- 我用richtextbox设计了一个java编辑器,对于不同的关键字显示不同的颜色,可是刷新显示速度太慢,请问各位,有没有好的算法,或者好的控
- SOS
- 请教:在VB中如何通过ADO访问存储过程?
- 如何在vb中调用注册表的word键值呢?
- 救命啊,如何实现MSFlexGrid的单元格显示多行字符 (送分了)
2、用open for binary格式拷贝文件
3、算出当前百分比
我不是想用progressbar,而是想用像拷贝文件时候出现的那种windows的进度条,
就是下面有个进度条,上面有个文件动态的从这个文件夹飞到另一个文件夹的那种
有没有这种控件的呀?我需要拷贝很多个小文件,所以时间比较长。
http://www.csdn.net/develop/read_article.asp?id=6929
Dim Fn2 As Long
Fn1 = FreeFile
Open T_SourceFile.Text For Binary Access Read As #Fn1
Fn2 = FreeFile
Open T_TargetFile.Text For Binary Access Write As #Fn2
Form1.MousePointer = 11
ProgressBar1.Visible = True
Dim Flength As Long
Dim Size As Long
Dim ByteBlock() As Byte
Dim Position As Long
Dim J As Long
Flength = LOF(Fn1)
Size = 32768
Position = 0
Rnd (EnCode)
Do While Position < Flength
If Flength - Position < Size Then Size = Flength - Position
ReDim ByteBlock(1 To Size)
Get #Fn1, Position + 1, ByteBlock
For J = 1 To Size
ByteBlock(J) = ByteBlock(J) Xor Int(Rnd * 256)
Next J
Put #Fn2, Position + 1, ByteBlock
Position = Position + Size
ProgressBar1.Value = Int(Position / Flength * 100)
Loop
Close Fn1, Fn2
需要一个windows common controls 6.0 就是mscomctl.ocx
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
fs.copyfile "d:\*.*","e:\"
请问这样怎么设progressbar的value呢?
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H3
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
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 ' only used if FOF_SIMPLEPROGRESS
End TypePublic Function CopyFile(ByVal sFrom As String, ByVal sTo As String) As Boolean
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = 0
udtPath.wFunc = FO_COPY
udtPath.pFrom = sFrom
udtPath.pTo = sTo
udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_NOERRORUI
CopyFile = Not CBool(SHFileOperation(udtPath))
End Function
还能不能简单解释一下这个程序呀?谢谢啦!
hwnd 窗口句柄
wFunc 文件操作功能 FO_MOVE 移动,FO_COPY 拷贝,FO_DELETE 删除
pFrom 源文件
pTo 目标文件
fFlags 附加参数