当前位置: 编程技术>c/c++/嵌入式
C++实现下载的代码
来源: 互联网 发布时间:2014-10-29
本文导语: 本文实例讲述了C++实现下载的方法,分享给大家供大家参考。 具体实现代码如下: 代码如下:#include #include #pragma comment(lib,"wininet") void CFileDownloadDlg::OnBnClickedBtnDownload() { // 使用UrlDownloadToFile函...
本文实例讲述了C++实现下载的方法,分享给大家供大家参考。
具体实现代码如下:
代码如下:
#include
#include
#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;
}
}
#include
#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;
}
}
希望本文所述对大家的C++程序设计有所帮助。