|
发表于 2017-6-17 16:17:18
|
显示全部楼层
|阅读模式
湖南省湘西土家族苗族自治州
|
HTTP带进度条下载 | 整数型 | | |
网址 | 文本型 | | | | 文件名 | 文本型 | | | | 进度显示 | 子程序指针 | | | | 起始位置 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | dwFlags | 整数型 | | | strAgent | 文本型 | | | hOpen | 整数型 | | | dwSize | 长整数型 | | | szHead | 文本型 | | | szTemp | 字节集 | | | hConnect | 整数型 | | | dwByteToRead | 整数型 | | | dwSizeOfRq | 整数型 | | | dwBytes | 长整数型 | | | start | 整数型 | | | end | 整数型 | | | time | 整数型 | | | InternetGetConnectedState (dwFlags, 0 )strAgent = “Agent” + 到文本 (取启动时间 ()) 如果 (位与 (dwFlags, 4 ) = 0 )hOpen = InternetOpenA (strAgent, 4, 0, 0, 0 )hOpen = InternetOpenA (strAgent, 0, 0, 0, 0 )如果真 (hOpen = 0 )信息框 (“Internet连接错误!”, 0, )返回 (-1 )szHead = “Accept: */*” + #换行符 + “Accept-Language: zh-cn” + #换行符 + “Accept-Encoding: gzip, deflate” + #换行符 + “User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)”如果真 (是否为空 (起始位置 ) = 假)szHead = szHead + #换行符 + “Range:bytes=” + 到文本 (起始位置 ) + “-”szTemp = 取空白字节集 (10240)hConnect = InternetOpenUrlA (hOpen, 网址, szHead, 取文本长度 (szHead ), 2214592768, 0 )如果真 (hConnect = 0 )信息框 (“不能打开该URL!”, 0, )返回 (-1 )dwByteToRead = 0dwSizeOfRq = 4 dwBytes = 0 如果 (是否为空 (起始位置 )) 文件号 = 打开文件 (文件名, #重写, )如果 (文件是否存在 (文件名 )) 文件号 = 打开文件 (文件名, #改写, )文件号 = 打开文件 (文件名, #重写, )移到文件尾 (文件号)dwBytes = 起始位置 如果真 (文件号 = 0 )信息框 (“不能打开本地的文件!”, 0, )返回 (-1 )如果真 (HttpQueryInfoA (hConnect, 536870917, dwByteToRead, dwSizeOfRq, 0 ) = 0 )dwByteToRead = 0 start = 取启动时间 ()end = 0 time = 10 循环判断首 ()如果真 (InternetReadFile (hConnect, szTemp, 取字节集长度 (szTemp ), dwSize ) = 0 )信息框 (“读文件出错!”, 0, )关闭文件 (文件号 )返回 (-1 )如果 (dwSize = 0 )跳出循环 ()szTemp = 取字节集左边 (szTemp, dwSize )写出字节集 (文件号, szTemp )dwBytes = dwBytes + dwSizeend = 取启动时间 ()time = end - start 如果真 (time = 0 )time = 10 CallWindowProcA (进度显示, dwByteToRead, dwBytes, time, dwBytes - 起始位置)循环判断尾 (真)关闭文件 (文件号 )InternetCloseHandle (hOpen )返回 (0 )
|
|