拷贝文件时如何显示进度?

kyosuke 2001-08-23 08:59:39
拷贝文件时如何显示进度?有什么方法?
...全文
284 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyosuke 2001-08-25
  • 打赏
  • 举报
回复
我的方法是结合fopen,fwrite写了一个拷贝函数,在fwrite的时候进行进度显示.
kimryo 2001-08-25
  • 打赏
  • 举报
回复
复制文件新建一个线程,在主线程中用Timer取得已复制的大小就行了。

当然,如果自定义消息,在复制线程向主线程发消息更好。
cloudice 2001-08-25
  • 打赏
  • 举报
回复
可以加入一个Progressbar控件,然后再把拷贝事件和它关联起来
kyosuke 2001-08-24
  • 打赏
  • 举报
回复
试试!回头再来。
whitelion 2001-08-24
  • 打赏
  • 举报
回复
学习
yushaofeng 2001-08-24
  • 打赏
  • 举报
回复
study
Good luck to you
BCB 2001-08-24
  • 打赏
  • 举报
回复
为了考虑win95也能用,就只好自已编个MyCopyFile(char *s,char *d)
一边复制一边向进度条中送进度值(大约值),这个子程序很简单
kyosuke 2001-08-24
  • 打赏
  • 举报
回复
这个函数不能在win95下面用呀
HEROIN 2001-08-24
  • 打赏
  • 举报
回复
BOOL CopyFileEx(

LPCWSTR lpExistingFileName, // 源文件名

LPCWSTR lpNewFileName, //目标文件

LPPROGRESS_ROUTINE lpProgressRoutine, // 指向一个回调函数

LPVOID lpData, //传给回调函数的数据

LPBOOL pbCancel, // flag that can be used to cancel the operation
DWORD dwCopyFlags // flags that specify how the file is copied
);



The CopyProgressRoutine function is called when a portion of a copy operation started by CopyFileEx is completed. This function is an application-defined callback routine.

DWORD WINAPI CopyProgressRoutine(

LARGE_INTEGER TotalFileSize, // total file size, in bytes
LARGE_INTEGER TotalBytesTransferred, // total number of bytes transferred
LARGE_INTEGER StreamSize, // total number of bytes for this stream
LARGE_INTEGER StreamBytesTransferred, // total number of bytes transferred for this stream
DWORD dwStreamNumber, // the current stream
DWORD dwCallbackReason, // reason for callback
HANDLE hSourceFile, // handle to the source file
HANDLE hDestinationFile, // handle to the destination file
LPVOID lpData // passed by CopyFileEx
);
xiaogq 2001-08-23
  • 打赏
  • 举报
回复
CopyFileEx

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧