易语言多线程多任务下载器的代码易语言多线程多任务下载器的代码
今天小编就为大家分享一篇关于易语言多线程多任务下载器的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来
看看吧
多线程多任务下载模块源码多线程多任务下载模块源码
1.DLL命令表命令表
.版本 2
.DLL命令 InternetGetConnectedStateHTTP, , "Wininet.dll", "InternetGetConnectedState", 公开
.参数 lpdwFlags, 整数型, 传址
.参数 dwReserved, 整数型
.DLL命令 InternetOpenAHTTP, 整数型, "Wininet.dll", "InternetOpenA", 公开
.参数 lpszAgent, 文本型
.参数 dwAccessType, 整数型
.参数 lpszProxyName, 整数型
.参数 lpszProxyBypass, 整数型
.参数 dwFlags, 整数型
.DLL命令 InternetOpenUrlAHTTP, 整数型, "Wininet.dll", "InternetOpenUrlA", 公开
.参数 hInternet, 整数型
.参数 lpszUrl, 文本型
.参数 lpszHeaders, 文本型
.参数 dwHeadersLength, 整数型
.参数 dwFlags, 整数型
.参数 dwContext, 整数型
.DLL命令 InternetCloseHandleHTTP, , "Wininet.dll", "InternetCloseHandle", 公开
.参数 handle, 整数型
.DLL命令 HttpQueryInfoAHTTP, 整数型, "Wininet.dll", "HttpQueryInfoA", 公开
.参数 hRequest, 整数型
.参数 dwInfoLevel, 整数型
.参数 lpvBuffer, 整数型, 传址
.参数 lpdwBufferLength, 整数型, 传址
.参数 lpdwIndex, 整数型, 传址
.DLL命令 创建文件, 整数型, "kernel32.dll", "CreateFileA", 公开
.参数 文件名, 文本型
.参数 打开方式, 整数型, , -2147483648表示读,1073741824表示写,0可取属性
.参数 共享方式, 整数型, , 1共享读,2共享写,0不共享
.参数 安全性, 整数型, , 为空即可
.参数 打开方式2, 整数型, , 1创建文件(文件存在出错),2创建文件(改写),3文件必须存在,4如果文件不存在则创建,5将现有文件缩短为0
.参数 文件属性, 整数型, , 128默认属性,268435456随机访问优化,134217728连续访问优化,67108864临时文件
.参数 文件句柄, 整数型, , 一般为0
.DLL命令 创建映射, 整数型, "kernel32.dll", "CreateFileMappingA", 公开
.参数 文件句柄, 整数型
.参数 安全对象, 整数型, , 0表示默认属性
.参数 映射方式, 整数型, , 2表示只读,4表示可读写
.参数 高32位, 整数型, , 文件映射的最大长度(高32位)
.参数 低32位, 整数型, , 文件映射的最小长度(低32位)
.参数 对象名字, 整数型, , 可以更改为文件型
.DLL命令 映射装载, 整数型, "kernel32.dll", "MapViewOfFile", 公开
.参数 映射句柄, 整数型
.参数 映射方式, 整数型, , 2可读可写,4只读,
.参数 高32位, 整数型, , 文件中映射起点的高32位地址,64k的整数倍
.参数 低32位, 整数型, , 文件中映射起点的低32位地址,64k的整数倍
.参数 字节数, 整数型, , 文件中要映射的字节数,根据实际长度指定
.DLL命令 映射卸载, 整数型, "kernel32.dll", "UnmapViewOfFile", 公开
.参数 映射地址, 整数型, , 用映射装载函数获得的
.DLL命令 CloseHandleHTTP, 整数型, "kernel32.dll", "CloseHandle", 公开
.参数 hObject, 整数型
.DLL命令 HeapCreate, 整数型, "kernel32.dll", "HeapCreate", 公开
.参数 flOptions, 整数型
.参数 dwInitialSize, 整数型
.参数 dwMaximumSize, 整数型
.DLL命令 HeapAllocHTTP, 整数型, "kernel32.dll", "HeapAlloc", 公开
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 HeapDestroy, 逻辑型, "kernel32.dll", "HeapDestroy", 公开
.参数 hHeap, 整数型
.DLL命令 RtlMoveMemory_读整数, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, 整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_写整数, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, 整数型
.参数 Source, 整数型, 传址
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_写文本, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 Destination, 整数型
.参数 Source, 文本型, 传址
.参数 Length, 整数型
.DLL命令 InitializeCriticalSectionHTTP, , "kernel32.dll", "InitializeCriticalSection", 公开
.参数 lpCriticalSection, 整数型
.DLL命令 CreateThreadHTTP, 整数型, "kernel32.dll", "CreateThread", 公开
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 DeleteCriticalSectionHTTP, , "kernel32.dll", "DeleteCriticalSection", 公开
.参数 lpCriticalSection, 整数型
.DLL命令 EnterCriticalSectionHTTP, , "kernel32.dll", "EnterCriticalSection", 公开
.参数 lpCriticalSection, 整数型
.DLL命令 LeaveCriticalSectionHTTP, , "kernel32.dll", "LeaveCriticalSection", 公开
.参数 lpCriticalSection, 整数型
.DLL命令 WaitForSingleObjectHTTP, 整数型, "kernel32.dll", "WaitForSingleObject", 公开
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 InternetReadFileHTTP, 整数型, "Wininet.dll", "InternetReadFile", 公开
.参数 hFile, 整数型
.参数 lpBuffer, 整数型
.参数 dwNumberOfBytesToRead, 整数型
.参数 lpdwNumberOfBytesRead, 整数型, 传址
.DLL命令 写入映射, , "kernel32.dll", "RtlMoveMemory", 公开
.参数 起始位置, 整数型, , 用映射装载命令得到的
.参数 待写入数据, 整数型, , 要写入的数据,可以更改为其他类型
.参数 数据长度, 整数型, , 要写入的数据长度,不大于实际数据长度
.DLL命令 HeapFree, 逻辑型, "kernel32.dll", "HeapFree", 公开
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 lpMem, 整数型
.DLL命令 PathFindExtensionAjtw, 文本型, "shlwapi.dll", "PathFindExtensionA", 公开
.参数 文件路径, 文本型
.DLL命令 InternetGetConnectedState, 逻辑型, "Wininet.dll", "InternetGetConnectedState", 公开, 本来是无返回值
.参数 lpdwFlags, 整数型, 传址