注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

珠海渔郎之电子网档

项目管理 + 程序开发 + Delphi + 电脑应用 + 数码 + 进化感悟

 
 
 

日志

 
 

在Delphi中怎么使用API MoveFileWithProgress?  

2011-04-23 02:35:09|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  How do I use MoveFileWithProgress in Delphi?

function ProgressCallBack(const TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: Int64;
                          const dwStreamNumber, dwCallbackReason: DWORD;
                          const hSourceFile, hDestinationFile: PChar;
                          var lpData: Pointer): DWORD; stdcall;
var
  pb: TForm1;
begin
  pb := lpData;
  case dwCallbackReason of
    CALLBACK_STREAM_SWITCH:
      begin
        pb.pb1.Max := 100;
        pb.pb1.Step := 1;
        pb.pb1.Min := 0;
      end;
    CALLBACK_CHUNK_FINISHED:
      begin
        pb.pb1.Position := Round(100 * TotalBytesTransferred/TotalFileSize);
        pb.lbl1.Caption := Format('Total File size: %d Bytes, Current transferred: %d Bytes',
                                  [TotalFileSize, TotalBytesTransferred]);
        Application.ProcessMessages;
      end;
  end;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  MoveFileWithProgress('D:\Favorites\1.ISO',
                       'C:\1.iso',
                       @ProgressCallBack,
                       @Self,
                       MOVEFILE_COPY_ALLOWED);
  Caption := SysErrorMessage(GetLastError);
end;

  评论这张
 
阅读(286)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017