河南恒友科贸有限公司
持之以恒 用户挚友 技术为本 服务为魂
VB 在指定的进度条和标签中显示文件复制进度
Posted on 2008-06-15 18:23
pegger
阅读(731)
评论(0)
编辑
收藏
Private
Const
PROGRESS_CANCEL
=
1
Private
Const
PROGRESS_CONTINUE
=
0
Private
Const
PROGRESS_QUIET
=
3
Private
Const
PROGRESS_STOP
=
2
Private
Const
COPY_FILE_FAIL_IF_EXISTS
=
&
H1
Private
Const
COPY_FILE_RESTARTABLE
=
&
H2
'
// 此 API 在 WIN9X 下不能使用
Private
Declare
Function CopyFileEx()
Function
CopyFileEx
Lib
"
kernel32.dll
"
Alias
"
CopyFileExA
"
(
ByVal
lpExistingFileName
As
String
,
ByVal
lpNewFileName
As
String
,
ByVal
lpProgressRoutine
As
Long
, lpData
As
Any,
ByRef
pbCancel
As
Long
,
ByVal
dwCopyFlags
As
Long
)
As
Long
Private
mlngCancel
As
Long
Private
mprgState
As
Object
Private
mlblState
As
Object
Public
Function CopyProgressRoutine()
Function
CopyProgressRoutine(
ByVal
TotalFileSize
As
Currency, _
ByVal
TotalBytesTransferred
As
Currency, _
ByVal
StreamSize
As
Currency, _
ByVal
StreamBytesTransferred
As
Currency, _
ByVal
dwStreamNumber
As
Long
, _
ByVal
dwCallbackReason
As
Long
, _
ByVal
hSourceFile
As
Long
, _
ByVal
hDestinationFile
As
Long
, _
ByVal
lpData
As
Long
)
As
Long
'
// 显示进度
mprgState.Value
=
CLng
((
100
/
TotalFileSize)
*
TotalBytesTransferred)
mlblState.Caption
=
"
已完成:
"
&
FormatPercent
(mprgState.Value
/
100
,
0
)
'
DoEvents
'
// 继续复制
CopyProgressRoutine
=
PROGRESS_CONTINUE
End Function
'
************************************************
'
** 函数名称: uCopyFile
'
** 函数功能: 复制文件
'
** 参数说明:
'
** strFrom 源文件
'
** strTo 目标文件
'
** prgState 进度条控件
'
** lblState 用来显示进度的 Label
'
** 函数返回:
'
** Boolean 类型
'
** True 复制成功
'
** False 复制失败
'
** 参考实例:
'
**
'
** blnReturn = uCopyFile("c:\test.exe", "d:\test.exe", prgState, lblState)
'
************************************************
Public
Function uCopyFile()
Function
uCopyFile(
ByVal
strFrom
As
String
, _
ByVal
strTo
As
String
, _
ByRef
prgState
As
Object
, _
ByRef
lblState
As
Object
)
As
Boolean
Dim
lngReturn
As
Long
Set
mprgState
=
prgState
Set
mlblState
=
lblState
'
// 开始复制
lngReturn
=
CopyFileEx(strFrom, strTo, _
AddressOf
CopyProgressRoutine,
ByVal
0
&
, mlngCancel, COPY_FILE_RESTARTABLE)
If
lngReturn
=
0
Then
uCopyFile
=
False
Else
uCopyFile
=
True
End
If
End Function
绿色通道:
好文要顶
关注我
收藏该文
与我联系
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
·
HTC首款Android4.0手机大曝光
·
这是不是你期待的 iPad 3?
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
Powered by:
博客园
Copyright © pegger
导航
博客园
首页
新随笔
联系
订阅
管理
公告
联系我们
技术沟通
业务咨询
电话:0371-53733453
传真:0371-65388972
地址:郑州市郑花路8号
www.hengyousoft.cn
昵称:
pegger
园龄:
4年11个月
粉丝:
0
关注:
0
搜索
随笔分类
(88)
ATM(4)
NetWork(4)
Other(8)
SQL(31)
WebForm(11)
WinForm(30)
随笔档案
(88)
2011年6月 (1)
2011年4月 (2)
2010年11月 (2)
2009年7月 (1)
2009年6月 (1)
2009年5月 (2)
2009年2月 (4)
2008年8月 (1)
2008年7月 (3)
2008年6月 (3)
2008年5月 (6)
2008年3月 (8)
2008年2月 (2)
2007年12月 (1)
2007年11月 (3)
2007年8月 (3)
2007年6月 (7)
2007年5月 (4)
2007年4月 (19)
2007年3月 (15)
相册
公司管理软件
公司控制软件
收藏图片
网站收藏
ATM技术站点
CSDN
iecnblog
MyXQ
OkMan博客
VB.net转C#
编程工具下载
工作流技术Blog
听棠.NET
微软工作流技术论坛
郑州公交查询
郑州列车时刻查询
邹建的专栏
最新评论
阅读排行榜
河南恒友科贸有限公司
电话 :0371-53733453 传真:0371-65388972
地址:郑州市郑花路8号 E-mail:hengyousoft@QQ.com