WinInet类实现HTTP服务器文件下载,如何判断文件下载完成 RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL InternetReadFile( __in HINTERNET hFile, __out LPVOID lpBuffer, __in DWORD dwNumberOfBytesToRead, __out LPDWORD lpdwNumberOfBytesRead);最后一个参数得到的值为0,而且该函数返回true 有一个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; } }楼主给点分吧我已经没有分问问题了 上面那个dwContentLen就是文件的字节数了下载的时候判断一下是否和下载的字节数相同。其实也不用那么复杂应该。应为你下载需要读写文件。而读写文件的操作是“阻塞式”的。不下载完成是不会继续执行下面的代码的。 有作过票据打印的没有 已经定义了一个类,在另一个类中声明一个这个类的成员对象,而Debug时显示“缺少类型说明符” XDJM们支点招 假高手就不要进来了 关于线程和定时器 如果把这个cstring分隔开 在线的朋友,请回一个很简单的问题:关于内存泄漏! 高手救我: ADO,封装问题 CRect GetIHTMLElementRect(IHTMLElement*)如何写? 下面的代码为什么编译成功后运行时出现错误框,(读文件的问题) Rich Edit如何响应键盘事件? 自己做个QQ登录器?
__in HINTERNET hFile,
__out LPVOID lpBuffer,
__in DWORD dwNumberOfBytesToRead,
__out LPDWORD lpdwNumberOfBytesRead
);最后一个参数得到的值为0,而且该函数返回true
前段时间做过用 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;
}
}楼主给点分吧
我已经没有分问问题了
下载的时候判断一下是否和下载的字节数相同。其实也不用那么复杂应该。
应为你下载需要读写文件。而读写文件的操作是“阻塞式”的。不下载完成是不会继续执行下面的代码的。