雨落空林 发表于 2017-6-2 13:28:47

两种实现下载的代码

实现下载的代码:
#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;
                        DWORD dwNum = 1;
                        FILE *hFile;

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

                        }

                        InternetCloseHandle(hLink2);
                        hLink2 = NULL;
                }
                InternetCloseHandle(hSession);
                hSession = NULL;
        }
}
页: [1]
查看完整版本: 两种实现下载的代码