比如我要下载的链接是
http://www.shuoltt.com/2010/01-03-26/aiqing.mp3窗体上有个button.当然点击这个button时弹出另存为的提示框(就是调用IE下载,但是不弹出IE浏览器),有没有这样的调用IE下载的函数啊,不想用URLDownloadToFile函数,这个函数还要指定下载位置。大家帮我想想啊。。

解决方案 »

  1.   

    用IdHTTPvar
      stream :TMemoryStream;
    begin
      if SaveDialog1.Execute then
      begin
        stream :=TMemoryStream.Create;
        IdHTTP1.Get('http://www.shuoltt.com/2010/01-03-26/aiqing.mp3',stream);
        stream.SaveToFile(SaveDialog1.FileName);
        stream.Free;
      end;
    end;
      

  2.   


    不好意思 是我没说明白,我的意思是不使用savedialog控件的(并且您这种方式要先保存到流),直接调用IE下载。
      

  3.   

    winexec('c:\Program Files\Internet Explorer\IEXPLORE.EXE http://www.shuoltt.com/2010/01-03-26/aiqing.mp3',SW_HIDE);
      

  4.   

    WinExec('Explorer.exe http://www.shuoltt.com/2010/01-03-26/aiqing.mp3', SW_SHOW);
      

  5.   

    这个方法可以使用你的默认浏览器(如:TT)来打开这个连接,然后你浏览器默认的下载工具(如:迅雷)会来下载这个文件。  试试吧。
    --USE ShellAPI
      ShellExecute(
        Application.Handle,
        'open',
        PAnsiChar('http://maksks.narod.ru/mp3/cryptic/12.mp3'),
        nil,
        nil,
        SW_NORMAL);