本文執行個體講述了C++實現下載的方法,分享給大家供大家參考。
具體實現代碼如下:
複製代碼 代碼如下:
#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;
}
}
希望本文所述對大家的C++程式設計有所協助。