工作中需要用到程序更新,从FTP上下载文件是比较方便的。写个日志总结一下昨天的学习情况:
句柄的定义
HINTERNET hConnect ;
连接FTP操作,需要定义一个HINTERNET句柄。使用InternetOpen函数进行初始化句柄。
创建FTP会话
使用InternetConnect函数,连接到FTP,要用到InternetOpen函数初始过的句柄。
设置当前FTP的目录
FtpSetCurrentDirctory函数,传入地址,支持多级子目录,可以使用"/soft/tool/"这样的多级目录。
下载文件
FtpGetFile 函数,可以直接下载,或者使用FtpOpenFile打开文件,然后使用InternetReadFile读入缓冲区
遍历文件
使用2个函数来操作,FtpFindFirstFile调用一次,然后调用InternetFindNextFile进行循环,只到返回FALSE,表示没有文件了。
遍历的时候,要注意的问题是,一个FTP 会话句柄,如hSesseion进行过一次遍历后,要调用closehandle关闭,否则继续进行遍历时会出错。
知道这一要点后,要进行递归遍历文件夹中的所有文件总数,问题就变得简单了。
总结,FTP的API函数操作还容易弄懂的,做了一个小小的程序更新软件,方便自己的工作 。