两种实现下载的代码

实现下载的代码:

#include <UrlMon.h>
#include <WinInet.h>

#pragma comment(lib,"wininet")


void CFileDownloadDlg::OnBnClickedBtnDownload()
{
	// 使用UrlDownloadToFile函数
	HRESULT hRet = URLDownloadToFile(NULL,"http://www.baidu.com/img/baidu_sylogo1.gif","c:\\temp\\1.gif",0,NULL);
	if (S_OK != hRet)
	{
		MessageBox("下载失败");
		return;
	}

	//使用windows internet 库
	HINTERNET hSession = InternetOpen("", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	if (hSession != NULL)
	{
		HINTERNET hLink2 = InternetOpenUrl(hSession, "http://www.baidu.com/img/baidu_sylogo1.gif", NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
		if (hLink2 != NULL)
		{
			BYTE temp[1024];
			DWORD dwNum = 1;
			FILE *hFile;

			if ((hFile = fopen("c:\\temp\\2.gif", "wb")) != NULL)
			{
				while (dwNum>0)
				{
					InternetReadFile(hLink2, temp, 1024, &dwNum);
					fwrite(temp, sizeof(char), dwNum, hFile);
				}
				fclose(hFile);
				MessageBox("download finished...");

			}

			InternetCloseHandle(hLink2);
			hLink2 = NULL;
		}
		InternetCloseHandle(hSession);
		hSession = NULL;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值