求助啊!(MFC中文件夹的复制)~~~~ 我用mfc编写了一个FTP上传工具,现在想实现: 在程序的列表框中选中一个文件夹后点击按钮使这个文件夹整个复制到服务器上。(列表框中的文件夹是本地的!)希望大家帮帮忙啊!~~~注意啊,是点击一次按钮就上传整个文件夹啊!~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想做一个程序A,来控制另外一个界面界面B的界面操作,程序B是一个基于对话框的但再做的时候遇到了一个问题:程序B的界面是用Delphi做的,我遍历其窗口控件时只能遍历到如下控件:等控件却不能遍历到其相应的Button,Edit等一类的vc控件,但对Delphi控件的控制再vc中似乎没有方法的啊不知道再如何向下做了,高手指点一下,不胜感激 //复制文件的函数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 ;} 看看上面这段代码嘛!是一段关于MFC文件复制的函数程序代码 使用CFindFile遍历文件夹使用CFtpConnection操作ftp如果遍历到文件 PutFile如果遍历到文件夹,就创建文件夹CreateDirectory Win32编程中属于窗口的滚动条没指定WS_VSCROLL也能显示 Microsoft Visual Studio.Net(VS2005/2008)中如何使用 custom control 设计一个简单的堆栈类问题 如何在对话框内动态的创建内容? 为什么无法包含gl/glut.h? 我的接口方法参数怎么变了 关于并口的问题 关于键盘钩子的一个非常有趣的问题,请各位朋友看一下! 如何使控件和滚动条关联?急! oracle中关于data类型 请教大家一个问题 vc界面中如何通过一按纽打开位图,并把位图显示在picture控件上?
但再做的时候遇到了一个问题:程序B的界面是用Delphi做的,我遍历其窗口控件时只能遍历到如下控件:等控件
却不能遍历到其相应的Button,Edit等一类的vc控件,但对Delphi控件的控制再vc中似乎没有方法的啊
不知道再如何向下做了,高手指点一下,不胜感激
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 ;
}
使用CFtpConnection操作ftp
如果遍历到文件 PutFile
如果遍历到文件夹,就创建文件夹CreateDirectory