C++实现下载的代码

时间:2022-01-15 09:32:01

本文实例讲述了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++程序设计有所帮助。