现在的关键问题是:我想知道SHFileOperation拷贝所需要的时间,请问怎么得到这个时间呢?
解决方案 »
- delphi能不能实现将功能菜单放进数据库?
- 请教:如何从一弹出窗体给另一窗体的ADOdataset或DBGRID赋值啊
- 打开一个FORM class TDBGrideh not found 是这么回事 ?
- 本身装有delphi7,要再安装delphi5开一个以前的程序,却装不上了,怎么办。
- 申请GAME 图形处理/多媒体版版主!
- CORBA程序问题,高分相送!
- 关于execl的小问题
- 如何通过程序建个.db文件?
- 如何创建一个既得不到焦点也不会失去焦点的窗体,如输入法一样!谢谢!
- _________________________________有没有这样的控件?
- 因为用户登陆的时候,在主程序里取得当前用户的ID值,然后传到DLL子窗子中,DLL子窗中根据ID值判断权限
- Degugger Exception从未遇见的问题,请帮忙
http://www.delphipages.com/threads/thread.cfm?ID=107157&G=107127
PROGRESS_CONTINUE = 0;
PROGRESS_CANCEL = 1;
PROGRESS_STOP = 2;
PROGRESS_QUIET = 3;const
COPY_FILE_FAIL_IF_EXISTS = $00000001;
COPY_FILE_RESTARTABLE = $00000002;
COPY_FILE_OPEN_SOURCE_FOR_WRITE = $00000004;function CopyProgressRoutine(
TotalFileSize: LARGE_INTEGER;
TotalBytesTransferred: LARGE_INTEGER;
StreamSize: LARGE_INTEGER;
StreamBytesTransferred: LARGE_INTEGER;
dwStreamNumber: DWORD;
dwCallbackReason: DWORD;
hSourceFile: THandle;
hDestinationFile: THandle;
lpData: Pointer
): DWORD; stdcall;
begin
with TForm1(lpData) do
begin
ProgressBar1.Min := 0;
ProgressBar1.Max := TotalFileSize.QuadPart;
ProgressBar1.Step := 1;
ProgressBar1.Position := TotalBytesTransferred.QuadPart;
end;
Application.ProcessMessages;
Result := PROGRESS_CONTINUE;
end; { CopyProgressRoutine }procedure TForm1.Button1Click(Sender: TObject);
var
vCancel: BOOL;
begin
vCancel := False;
CopyFileEx('c:\temp\01.rmvb', 'e:\temp\01.rmvb', @CopyProgressRoutine,
Self, @vCancel, COPY_FILE_FAIL_IF_EXISTS);
end;//可以参考
http://www.luckie-online.de/Developer/Delphi/Sonstiges/CopyFileEx.html
比较麻烦而已
看看windows本身的拷贝,你会发现时间一会长一会短,这个系统的资源占用有关,除非你写的拷贝进程里面不停的判断字体资源使用量