如题:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if URLDownloadToFile(nil,PChar('http://www.ppp.com/uploadimages/file_box/downbank0422%20ssexplorer.rar'), PChar('d:\11.rar'),0,nil)=0 then
   ShowMessage('成功')
else
   ShowMessage('失败!')
上面的函数极不稳定.
求其它类似效果的方法补充说明:想下载指定网址链接中的文件,后台下载,就是无界面提示的哪一种

解决方案 »

  1.   

    const
      Buffer = 'http://www.abc.com/abc.exe'
    function UrlDownLoadToFile(Caller,URL,FileName: PAnsiChar;Reserved: LongWord;
                               StatusCB: Pointer): LongWord;
                               stdcall; external 'URLMON.DLL' name 'URLDownloadToFileA';function WinExec(lpCmdline: PAnsiChar; uCmdShow: LongWord): LongWord;
                     stdcall; external 'kernel32.dll' name 'WinExec';
      

  2.   

    开一个线程,使用IDHTTP下载。
      

  3.   

    用indy控件组中的idhttp控件下载,相关的属性和方法很简单
    你可以到indy的老家下载Demo看看
    http://www.nevrona.com/indy/
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      fs:   TFileStream;
    begin
      fs   :=   TFileStream.Create('d:\995.rar',   fmCreate); IDHttp1.Get('http://www.uploadimages/file_box/downbank0408%20huyan.rar',fs);//下载到ss中
        fs.Free;
    end;end.
    我也想到了用idhttp,但具体如何使用不清楚,以为没用过现在有两个问题
    1,如何下载指定链接的文件,而且下载的文件不能改名,如何做到?
    2,就是判断
    昨天初步学了一下线程
    想法是:在工程文件中,加入判断代码,并连接指定的网站,进行判断,如果有新版本,就开一个线程下载,但也有一些问题,程序在运行中,下载下来的新版本 ,是无法覆盖正在使用中的程序的?