我用mfc编写了一个FTP上传工具,现在想实现: 在程序的列表框中选中一个文件夹后点击按钮使这个文件夹整个复制到服务器上。(列表框中的文件夹是本地的!)希望大家帮帮忙啊!~~~注意啊,是点击一次按钮就上传整个文件夹啊!~~~

解决方案 »

  1.   

    想做一个程序A,来控制另外一个界面界面B的界面操作,程序B是一个基于对话框的
    但再做的时候遇到了一个问题:程序B的界面是用Delphi做的,我遍历其窗口控件时只能遍历到如下控件:等控件
    却不能遍历到其相应的Button,Edit等一类的vc控件,但对Delphi控件的控制再vc中似乎没有方法的啊
    不知道再如何向下做了,高手指点一下,不胜感激
      

  2.   

    //复制文件的函数
    BOOL CommonCopyFile(CString SourceFileName, CString DestFileName)
    {
     CFile sourceFile ;
     CFile destFile ;
     CFileException ex;
     if (!sourceFile.Open((LPCTSTR)SourceFileName,CFile::modeRead | CFile::shareDenyWrite, &ex))
     {
      TCHAR szError[1024];
      ex.GetErrorMessage(szError, 1024);
      CString ErrorMsg = "打开文件:" ;
      ErrorMsg += SourceFileName ;
      ErrorMsg += "失败。错误信息为: " ;
      ErrorMsg += szError ;
      AfxMessageBox(ErrorMsg);
      return FALSE ;
     }
     else
     {
      if (!destFile.Open((LPCTSTR)DestFileName, CFile::modeWrite | CFile::shareExclusive | CFile::modeCreate, &ex))
      {
       TCHAR szError[1024];
       ex.GetErrorMessage(szError, 1024);
       CString ErrorMsg = "创建文件:" ;
       ErrorMsg += DestFileName ;
       ErrorMsg += "失败。错误信息为: " ;
       ErrorMsg += szError ;
       AfxMessageBox(ErrorMsg);
       sourceFile.Close();
       return FALSE ;
      }  BYTE buffer[4096];
      DWORD dwRead;
      do
      {
       dwRead = sourceFile.Read(buffer, 4096);
       destFile.Write(buffer, dwRead);
      }
      while (dwRead > 0);   
      destFile.Close();
      sourceFile.Close();
     }
     return TRUE ;
    }
      

  3.   

    看看上面这段代码嘛!是一段关于MFC文件复制的函数程序代码
      

  4.   

    使用CFindFile遍历文件夹
    使用CFtpConnection操作ftp
    如果遍历到文件 PutFile
    如果遍历到文件夹,就创建文件夹CreateDirectory