主要有两个难点:
1、如何选择文件;
2、选择好文件之后,如果复制;
1st、关于文件选择,可参考下面这段代码:
CString CDcPackerDlg::BootOpenDialog() //返回选择的文件名称
{
CString strFile = _T("");
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}
return strFile;
}
//加载文件按钮
void CDcPackerDlg::OnBnClickedSelectdec()
{
// TODO: Add your control notification handler code here
m_strDescPath = ""; //类的成员变量
//"打开文件"对话框,选择文件,返回其路径
m_strDescPath = BootOpenDialog();
}
2nd、文件复制:
2.1 获得程序目录
CString strPath = "", strDir = "";
char filepath[MAX_PATH];
GetModuleFileName(NULL, filepath, MAX_PATH);
strDir.Format("%s", filepath);
strPath = strDir.Left(strDir.ReverseFind('\\'));
2.2 复制文件
在MFC下可以用CopyFile()函数,定义如下:
BOOL CopyFile(
LPCTSTR lpExistingFileName, //原文件地址,包括文件名
LPCTSTR lpNewFileName, ////目的文件地址,包括文件名
BOOL bFailIfExists //如果目的文件存在的操作
);
3rd、自己把上面给的代码组装一下,就可以满足你的要求了。