使用UrlDownloadToFile函数下载文件的问题
在“服务”程序中使用
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




