读书人

下载进度条的有关问题

发布时间: 2012-06-08 12:55:24 作者: rapoo

下载进度条的问题
下载用了URLDownloadToFile,关于第五个参数LPBINDSTATUSCALLBACK lpfnCB就别说了,我是另起线程显示进度条,但是进度条跟下载进度不一致,下面是代码

C/C++ code
void CMyClientDlg::OnBnClickedButton3(){    // TODO: 在此添加控件通知处理程序代码    m_ThreadSpeed = CreateThread(0,0,ThreadSpeed,&m_speed,0,0); //创建线程     URLDownloadToFile(NULL,"http://downmini.kugou.com/Kugou2012.exe","d:\\kugou.exe",0,NULL);}DWORD WINAPI CMyClientDlg::ThreadSpeed(LPVOID lpParameter)  {      CProgressCtrl *Speed = (CProgressCtrl*)lpParameter;     //文件总大小为10451552    Speed->SetRange(0,10451552); //设置进度条的范围     ULONG size = 0;    char *filepath = "d:\\kugou.exe";     while (size <= 10451552)    {          //获取文件大小          HANDLE handle = CreateFile(filepath, FILE_READ_EA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);            if (handle != INVALID_HANDLE_VALUE)            {                   size = GetFileSize(handle, NULL);            CloseHandle(handle);             Speed->SetPos(size); //进度条的位置            Sleep(2);        }           }           return 0;  }  


[解决办法]
探讨
引用:
下载用了URLDownloadToFile,关于第五个参数LPBINDSTATUSCALLBACK lpfnCB就别说了,我是另起线程显示进度条,但是进度条跟下载进度不一致,下面是代码

C/C++ code

void CMyClientDlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
m_ThreadSp……

读书人网 >C++

热点推荐