CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

使用UrlDownloadToFile函数下载文件的问题

楼主CoolSlob()2006-07-13 17:43:04 在 VC/MFC / 网络编程 提问

在“服务”程序中使用  
  UrlDownloadToFile(NULL,   szDownFile,   szLocalFile   ,0,   NULL)  
  下载文件,当第一次下载成功后,无论以后szDownFile是否存在,再次执行该函数,都会生成szLocalFile文件。  
   
  但是在Win32   App程序不会有这个问题,为什么会这样? 问题点数:100、回复次数:11Top

1 楼CoolSlob()回复于 2006-07-13 17:44:46 得分 0

而且,在服务程序中,使用GetTempPath函数,返回的是C:\Windows\temp目录,  
  而不是C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Top

2 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-07-14 00:59:35 得分 10

1   你可以把0改成对应的flag  
  2   用户身份不一样Top

3 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-07-14 08:13:02 得分 10

使用IBindStatusCallback,在OnProgress中自己检测文件是否已经存在。Top

4 楼CoolSlob()回复于 2006-07-14 09:29:46 得分 0

>>1   你可以把0改成对应的flag  
  HRESULT   URLDownloadToFile(                     LPUNKNOWN   pCaller,  
          LPCTSTR   szURL,  
          LPCTSTR   szFileName,  
          DWORD   dwReserved,  
          LPBINDSTATUSCALLBACK   lpfnCB  
  );  
   
  dwReserved   Reserved.   Must   be   set   to   0.  
   
  指哪个参数?  
   
   
  to   DentistryDoctor:    
          检测网络上的文件吗?怎么检测?  
  Top

5 楼CoolSlob()回复于 2006-07-14 09:32:37 得分 0

但是同样的代码在Win32   App中执行就不会有问题。Top

6 楼halfdream(哈欠)回复于 2006-07-14 09:50:36 得分 10

关注大傻的问题.  
  Top

7 楼CoolSlob()回复于 2006-07-14 09:51:32 得分 0

仅仅是关注?~Top

8 楼CoolSlob()回复于 2006-07-14 10:29:33 得分 0

搞定了,不使用UrlDownloadToFile,  
   
  龍子龍孫   10:11:20  
  #include<windows.h>  
  #include<wininet.h>  
  #pragma   comment(linker,"/SUBSYSTEM:WINDOWS   /ENTRY:Entry")  
  #pragma   comment(lib,"wininet.lib")  
  #pragma   comment(lib,"kernel32.lib")  
   
   
  void   Entry()  
  {  
  HINTERNET   hSession=InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);  
  HINTERNET   hConnection=InternetOpenUrl(hSession,"http://www.google.com",NULL,0,0,0);  
   
  BYTE   Buffer[4096];  
  DWORD   Read=0,i;  
  HANDLE   hFile=CreateFile("c:\\index.htm",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);  
  InternetReadFile(hConnection,Buffer,sizeof(Buffer),&Read);  
  while(Read!=0)  
  {  
  WriteFile(hFile,Buffer,Read,&i,NULL);  
  InternetReadFile(hConnection,Buffer,sizeof(Buffer),&Read);  
  }  
  CloseHandle(hFile);  
   
  InternetCloseHandle(hConnection);  
  InternetCloseHandle(hSession);  
  }Top

9 楼lexchou(龍子龍孫)(本人已死)(有事烧纸)回复于 2006-07-14 10:30:36 得分 70

路过,呵呵Top

10 楼makec(makec)回复于 2006-08-18 22:10:40 得分 0

markTop

11 楼extreme(FadeToBlack)回复于 2006-09-02 22:28:34 得分 0

markTop

相关问题

关键词

得分解答快速导航

  • 帖主:CoolSlob
  • jiangsheng
  • DentistryDoctor
  • halfdream
  • lexchou

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo