RT

解决方案 »

  1.   

    BOOL InternetReadFile(
      __in   HINTERNET hFile,
      __out  LPVOID lpBuffer,
      __in   DWORD dwNumberOfBytesToRead,
      __out  LPDWORD lpdwNumberOfBytesRead
    );最后一个参数得到的值为0,而且该函数返回true
      

  2.   

    有一个HttpQueryInfo函数可以知道。
    前段时间做过用 wininet 下载特定URL资源的功能。不过记得不太清楚了。给你一个blog地址。
    讲得非常详细!
    //查询content-length大小
        dwContentLen = 0;
        dwSizeDW = sizeof(DWORD);
        bRet = HttpQueryInfo(hRequestHead, HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_CONTENT_LENGTH, &dwContentLen, &dwSizeDW, NULL);
        if (bRet)
        {
            //检查是否文件过大
            if (dwContentLen > MAX_DOWNLOAD_BYTESIZE)
            {
                bRet = FALSE;
                goto _END_OF_DOWNLOADURL;
            }
        }楼主给点分吧
    我已经没有分问问题了
      

  3.   

    上面那个dwContentLen就是文件的字节数了
    下载的时候判断一下是否和下载的字节数相同。其实也不用那么复杂应该。
    应为你下载需要读写文件。而读写文件的操作是“阻塞式”的。不下载完成是不会继续执行下面的代码的。