HTTP进度下载断点续传例子
系统结构:下载子程序,进度显示,HTTP进度下载,InternetGetConnectedState,InternetOpenA,InternetOpenUrlA,HttpQueryInfoA,InternetCloseHandle,InternetReadFile,CallWindowProcA,下载子程序,进度显示,HTTP进度下载,取下载文件大小,HTTP下载重定向,取域名,取端口,取页面地址,BASE64编码,BASE64解码,TH解密,KC解密,InternetGetConnectedState,Internet激活,InternetOpenUrlA,HTTP查询信息,HttpQueryInfoA,Internet关闭句柄,Internet读文件,CallWindowProcA,
======窗口程序集1
| |
| |------ _按钮_下载_被单击
| |
| |------ 下载子程序
| |
| |------ 进度显示
| |
| |------ _按钮_停止_被单击
| |
| |
======程序集1
| |
| |------ HTTP进度下载
| |
| |
======调用的Dll
| |
| |---[dll]------ InternetGetConnectedState
| |
| |---[dll]------ InternetOpenA
| |
| |---[dll]------ InternetOpenUrlA
| |
| |---[dll]------ HttpQueryInfoA
| |
| |---[dll]------ InternetCloseHandle
| |
| |---[dll]------ InternetReadFile
| |
| |---[dll]------ CallWindowProcA
======主窗口程序集
| |
| |------ _按钮_下载_被单击
| |
| |------ 下载子程序
| |
| |------ 进度显示
| |
| |------ _按钮_停止_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |
======下载程序集
| |
| |------ HTTP进度下载
| |
| |------ 取下载文件大小
| |
| |------ HTTP下载重定向
| |
| |------ 取域名
| |
| |------ 取端口
| |
| |------ 取页面地址
| |
| |------ BASE64编码
| |
| |------ BASE64解码
| |
| |------ TH解密
| |
| |------ KC解密
| |
| |
======调用的Dll
| |
| |---[dll]------ InternetGetConnectedState
| |
| |---[dll]------ Internet激活
| |
| |---[dll]------ InternetOpenUrlA
| |
| |---[dll]------ HTTP查询信息
| |
| |---[dll]------ HttpQueryInfoA
| |
| |---[dll]------ Internet关闭句柄
| |
| |---[dll]------ Internet读文件
| |
| |---[dll]------ CallWindowProcA
调用的DLL命令:
.DLL命令 InternetGetConnectedState, , "Wininet.dll", "InternetGetConnectedState"
.参数 lpdwFlags, 整数型, 传址
.参数 dwReserved, 整数型
.DLL命令 InternetOpenA, 整数型, "Wininet.dll", "InternetOpenA"
.参数 lpszAgent, 文本型
.参数 dwAccessType, 整数型
.参数 lpszProxyName, 整数型
.参数 lpszProxyBypass, 整数型
.参数 dwFlags, 整数型
.DLL命令 InternetOpenUrlA, 整数型, "Wininet.dll", "InternetOpenUrlA"
.参数 hInternet, 整数型
.参数 lpszUrl, 文本型
.参数 lpszHeaders, 文本型
.参数 dwHeadersLength, 整数型
.参数 dwFlags, 整数型
.参数 dwContext, 整数型
.DLL命令 HttpQueryInfoA, 整数型, "Wininet.dll", "HttpQueryInfoA"
.参数 hRequest, 整数型
.参数 dwInfoLevel, 整数型
.参数 lpvBuffer, 整数型, 传址
.参数 lpdwBufferLength, 整数型, 传址
.参数 lpdwIndex, 整数型, 传址
.DLL命令 InternetCloseHandle, , "Wininet.dll", "InternetCloseHandle"
.参数 handle, 整数型
.DLL命令 InternetReadFile, 整数型, "Wininet.dll", "InternetReadFile"
.参数 hFile, 整数型
.参数 lpBuffer, 字节集
.参数 dwNumberOfBytesToRead, 整数型
.参数 lpdwNumberOfBytesRead, 整数型, 传址
.DLL命令 CallWindowProcA, 整数型, , "CallWindowProcA"
.参数 子程序指针, 子程序指针
.参数 参数1, 整数型
.参数 参数2, 整数型
.参数 参数3, 整数型
.参数 参数4, 整数型
调用的DLL命令:
.DLL命令 InternetGetConnectedState, , "Wininet.dll", "InternetGetConnectedState"
.参数 lpdwFlags, 整数型, 传址
.参数 dwReserved, 整数型
.DLL命令 Internet激活, 整数型, "Wininet.dll", "InternetOpenA"
.参数 句柄名称, 文本型, 传址
.参数 连接类型, 整数型, , 1直接连接;3代理连接
.参数 代理地址, 文本型, 传址
.参数 代理掩码, 文本型, 传址
.参数 dwFlags, 整数型, , 0
.DLL命令 InternetOpenUrlA, 整数型, "Wininet.dll", "InternetOpenUrlA"
.参数 hInternet, 整数型
.参数 lpszUrl, 文本型
.参数 lpszHeaders, 文本型
.参数 dwHeadersLength, 整数型
.参数 dwFlags, 整数型
.参数 dwContext, 整数型
.DLL命令 HTTP查询信息, 逻辑型, "WinINet.dll", "HttpQueryInfoA"
.参数 Internet请求句柄, 整数型
.参数 待查信息, 整数型, , 22返回所有信息;43SET_COOKIE;+2147483648返回文本
.参数 返回容器, 文本型, 传址
.参数 返回容器长度, 整数型, 传址
.参数 lpdwIndex, 整数型
.DLL命令 HttpQueryInfoA, 整数型, "Wininet.dll", "HttpQueryInfoA"
.参数 hRequest, 整数型
.参数 dwInfoLevel, 整数型
.参数 lpvBuffer, 整数型, 传址
.参数 lpdwBufferLength, 整数型, 传址
.参数 lpdwIndex, 整数型, 传址
.DLL命令 Internet关闭句柄, , "Wininet.dll", "InternetCloseHandle"
.参数 句柄, 整数型
.DLL命令 Internet读文件, 整数型, "Wininet.dll", "InternetReadFile"
.参数 HTTP请求句柄, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 dwNumberOfBytesToRead, 整数型
.参数 lpdwNumberOfBytesRead, 整数型, 传址
.DLL命令 CallWindowProcA, 整数型, , "CallWindowProcA"
.参数 子程序指针, 子程序指针
.参数 参数1, 整数型
.参数 参数2, 整数型
.参数 参数3, 整数型
.参数 参数4, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。