包含头文件:#include <wininet.h>
链拉库文件:WININET.LIB
使用方法:
1.建立连接:
HINTERNET hftp= InternetOpen("PromulgateSys",0,0,0,0);
HINTERNET fftphandle = InternetConnect(hftp,sysDlg->m_strIPAddress,atoi(sysDlg->m_strPortNumber.GetBuffer(0)),sysDlg->m_strUserName,sysDlg->m_strUserPWD,INTERNET_SERVICE_FTP,0,0);
if(!fftphandle)
{
CString errorInfo="连接FTP服务器失败,没有拷贝任何文件!/n";
return 0;
}
2.目录切换
获取当前目录:
unsigned long len = 256;
char buff[256];
FtpGetCurrentDirectory(fftphandle,buff,&len);
设置当前目录:
FtpSetCurrentDirectory(fftphandle,dir);
3.查找文件或目录
WIN32_FIND_DATA wfd;
CString findfileStr="";
findfileStr.Format("%s/%s",sysDlg->m_strFTPDir,"*.*");
HINTERNET haveFound=FtpFindFirstFile(fftphandle,findfileStr,&wfd,0,0);
if(!haveFound)
{
if(!FtpCreateDirectory(fftphandle,dir))
{
InternetCloseHandle(fftphandle);
InternetCloseHandle(hftp);
return 0;
}
else
{
errorInfo="-->成功创建目录/"+sysDlg->m_strFTPDir+"/n";
::SendMessage(sysDlg->m_edtProgressCtrl.GetSafeHwnd(),ME_APPEND_TEXT,0,(LPARAM)&errorInfo);
}
}
//------------------------------------------------------------------------------------------------- 每次使用FtpFindFirstFile后,一定要关闭返回的句柄
InternetCloseHandle(haveFound);
4.文件操作
FtpPutFile(fftphandle,strSrc,fileFind.GetFileName(),FTP_TRANSFER_TYPE_BINARY,0);
BOOLAPI FtpGetFile(
HINTERNET hConnect,
LPCSTR lpszRemoteFile,
LPCSTR lpszNewFile,
BOOL fFailIfExists,
DWORD dwFlagsAndAttributes,
DWORD dwFlags,
DWORD_PTR dwContext
);