//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言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",,关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与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",,释放控制台
