C++实现下载的代码

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