函数如下:
DownloadFile(HINTERNET hSession, LPCTSTR localFile)
{
HINTERNET hSession, LPCTSTR localFile
HANDLE hFile;
BYTE pBuf[TRANSFER_SIZE];
DWORD dwReadSizeOut=0;
DWORD dwTotalReadSize = 0; hFile = CreateFile(localFile, GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) return FALSE;
DWORD dwWriteSize, dwNumWritten;
do { BOOL bRead = InternetReadFile(hSession, pBuf, 4096, &dwReadSizeOut);
dwWriteSize = dwReadSizeOut; if (bRead && dwReadSizeOut > 0)
{
dwTotalReadSize += dwReadSizeOut;
WriteFile(hFile, pBuf, dwWriteSize, &dwNumWritten, NULL);
// File write error
if (dwWriteSize != dwNumWritten)
{
CloseHandle(hFile);
return FALSE;
}
}
else {
if (!bRead)
{
// Error
CloseHandle(hFile);
return FALSE;
}
break;
}
} while(1);
CloseHandle(hFile);
return TRUE;
}
DownloadFile(HINTERNET hSession, LPCTSTR localFile)
{
HINTERNET hSession, LPCTSTR localFile
HANDLE hFile;
BYTE pBuf[TRANSFER_SIZE];
DWORD dwReadSizeOut=0;
DWORD dwTotalReadSize = 0; hFile = CreateFile(localFile, GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) return FALSE;
DWORD dwWriteSize, dwNumWritten;
do { BOOL bRead = InternetReadFile(hSession, pBuf, 4096, &dwReadSizeOut);
dwWriteSize = dwReadSizeOut; if (bRead && dwReadSizeOut > 0)
{
dwTotalReadSize += dwReadSizeOut;
WriteFile(hFile, pBuf, dwWriteSize, &dwNumWritten, NULL);
// File write error
if (dwWriteSize != dwNumWritten)
{
CloseHandle(hFile);
return FALSE;
}
}
else {
if (!bRead)
{
// Error
CloseHandle(hFile);
return FALSE;
}
break;
}
} while(1);
CloseHandle(hFile);
return TRUE;
}
解决方案 »
- 最近学习数据结构 求推荐使用STL的数据结构书!!
- TCP下recv和send的问题!
- setup.dll该怎么删除或覆盖开始菜单快捷方式,setup.dll该怎么删除或覆盖开始菜单快捷方式,因为moblie6.0以下版本最多7个快捷方式,该怎么删
- 在MFC向导生成CView程序中加入滚动条,我
- 各位高手们,有没有会玩传奇的?知道怎么封掉外挂吗?原理是什么?
- 怎么进行时间的计算?
- 如何让弹出菜单在状态栏输出提示信息?
- 有个问题,急,急,急,快请进!!!
- 当ListCtrl 控件显示图象时,图标背景是黑色的而不是透明色,我该如何设置呢?
- 计算机应用自考本科文凭有用吗?
- 文本文件,按了保存以后换行都消失了
- 在VC中,如何添加右键菜单(像WinRAR那样)
{
HINTERNET hSession, LPCTSTR localFile ?