易语言FTP超时处理源码
系统结构:demo,WorkerFunction,API_CreateThread,API_InternetOpen,API_WaitForSingleObject,API_GetLastError,API_InternetCloseHandle,API_GetExitCodeThread,API_CloseHandle,API_FtpGetFile,API_InternetConnect,API_FreeConsole,
======程序集1
| |
| |------ _启动子程序
| |
| |------ demo
| |
| |------ WorkerFunction
| |
| |
======调用的Dll
| |
| |---[dll]------ API_CreateThread
| |
| |---[dll]------ API_InternetOpen
| |
| |---[dll]------ API_WaitForSingleObject
| |
| |---[dll]------ API_GetLastError
| |
| |---[dll]------ API_InternetCloseHandle
| |
| |---[dll]------ API_GetExitCodeThread
| |
| |---[dll]------ API_CloseHandle
| |
| |---[dll]------ API_FtpGetFile
| |
| |---[dll]------ API_InternetConnect
| |
| |---[dll]------ API_FreeConsole
调用的DLL命令:
.DLL命令 API_CreateThread, 整数型, "kernel32", "CreateThread", , 建立新的线索
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型
.DLL命令 API_InternetOpen, 整数型, "wininet.dll", "InternetOpenA", ,
.参数 lpszAgent, 文本型
.参数 dwAccessType, 整数型
.参数 lpszProxy, 整数型
.参数 lpszProxyBypass, 整数型
.参数 dwFlags, 整数型
.DLL命令 API_WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject", , 监测一个对象
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 API_GetLastError, 整数型, "kernel32", "GetLastError", , 针对之前调用的api函数,用这个函数取得扩展错误信息(在vb里使用:在vb中,用Err对象的GetLastError属性获取GetLastError的值。这样做是必要的,因为在api调用返回以及vb调用继续执行期间,vb有时会重设GetLastError的值) 由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。常用的错误代码见下表
.DLL命令 API_InternetCloseHandle, , "wininet.dll", "InternetCloseHandle", ,
.参数 hInternet, 整数型, 传址
.DLL命令 API_GetExitCodeThread, 整数型, "kernel32", "GetExitCodeThread", , 获取一个已中止线程的退出代码 非零表示成功,零表示失败。会设置GetLastError
.参数 线程句柄, 整数型, , 想获取退出代码的一个线程的句柄
.参数 退出代码, 整数型, 传址, 用于装载线程退出代码的一个长整数变量。如线程尚未中断,则设为常数STILL_ACTIVE;
.DLL命令 API_CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 API_FtpGetFile, 整数型, "wininet.dll", "FtpGetFileA", ,
.参数 hConnect, 整数型
.参数 lpszRemoteFile, 文本型
.参数 lpszNewFile, 文本型
.参数 fFailIfExists, 整数型
.参数 dwFlagsAndAttributes, 整数型
.参数 dwFlags, 整数型
.参数 dwContext, 整数型, 传址
.DLL命令 API_InternetConnect, 整数型, "wininet.dll", "InternetConnectA", ,
.参数 hInternet, 整数型
.参数 lpszServerName, 文本型
.参数 nServerPort, 整数型
.参数 lpszUserName, 文本型
.参数 lpszPassword, 文本型
.参数 dwService, 整数型
.参数 dwFlags, 整数型
.参数 dwContext, 整数型
.DLL命令 API_FreeConsole, 整数型, "kernel32", "FreeConsole", , 释放控制台
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。