170上位机VC MFC文件复制移动更名删除操作 
 
  
170上位机VC MFC文件复制移动更名删除操作  
 
功能展示  
任何软件的开发都或多或少的接触文件的复制删除移动等操作,我们当前例程实现文件的复制移动重命名等常用操作功能,效果如图; 要点提示 文件的直接删除(不经过回收站)可用函数DeleteFile(); 文件的复制可用函数CopyFile(); 文件的移动可用函数MoveFile(); 文件的重命名同样可以用函数MoveFile() 这些函数的参数都很简单,可参考MSDN或直接复制使用例程源码  
 
 
 
 
 
实现功能 1.新建基于对话框的应用程序 2.拖拽一静态文件ID修改为IDC_NOTICE用于显示操作结果; 拖拽一编辑框ID默认为IDC_EDIT用于显示已选择的要操作文件路径; 拖拽一按钮,用于打开要操作的文件;  
最后再依次拖拽一些按钮实现文件的相关操作,按钮相对独立,可根据喜好,添加按钮函数; - void CGkbc8Dlg::OnDelete() 
 
 - {CString sFialPath;
 
 -         GetDlgItemText(IDC_EDIT1,sFialPath);
 
  
-         BOOL bResult = DeleteFile(sFialPath);//直接删除未放入回收站
 
 -         if(sFialPath)SetDlgItemText(IDC_NOTICE,"删除成功");
 
 -         elseSetDlgItemText(IDC_NOTICE,"删除失败");}
 
 - void CGkbc8Dlg::OnCopy() 
 
 - {CString sFialPath,sCoppiedFilePath;
 
 -         GetDlgItemText(IDC_EDIT1,sFialPath);
 
 -         sCoppiedFilePath=sFialPath;
 
 -         sCoppiedFilePath = sCoppiedFilePath.Left(sCoppiedFilePath.ReverseFind('.'));
 
 -         sCoppiedFilePath+="_copy";
 
 -         sCoppiedFilePath+=sFialPath.Right(sFialPath.GetLength()-sFialPath.ReverseFind('.'));
 
 -         if(::CopyFile(sFialPath,sCoppiedFilePath,FALSE))//FALSE表示存在?强制盖
 
 -                 SetDlgItemText(IDC_NOTICE,"复制成功");
 
 -         else SetDlgItemText(IDC_NOTICE,"复制失败");
 
 - }
 
 
  复制代码- void CGkbc8Dlg::OnMove() 
 
 - {
 
 -         CString sFialPath,sMovedFilePath;
 
 -         GetDlgItemText(IDC_EDIT1,sFialPath);
 
 - //
 
 -         CHAR ch[MAX_PATH];
 
 -         GetModuleFileName(NULL,ch,MAX_PATH);
 
 -         sMovedFilePath=ch;
 
 -         sMovedFilePath=sMovedFilePath.Left(sMovedFilePath.ReverseFind('\\'));//获取程序路径
 
 -         sMovedFilePath+=sFialPath.Right(sFialPath.GetLength()-sFialPath.ReverseFind('\\'));//获取文件名
 
 -         //
 
 -         if(::MoveFile(sFialPath,sMovedFilePath))
 
 -                 SetDlgItemText(IDC_NOTICE,"移动成功");
 
 -         else
 
 -                 SetDlgItemText(IDC_NOTICE,"移动失败");
 
 - }
 
  
- void CGkbc8Dlg::OnChange() 
 
 - {
 
 -         CString sFialPath,sNewFilePath;
 
 -         GetDlgItemText(IDC_EDIT1,sFialPath);
 
 - //
 
 -         sNewFilePath=sFialPath.Left(sFialPath.ReverseFind('\\')+1);//获取程序路径
 
 -         sNewFilePath+="NewName";//新名
 
 -         sNewFilePath+=sFialPath.Right(sFialPath.GetLength()-sFialPath.ReverseFind('.'));//获取文件后缀
 
 -         //
 
 -         if(::MoveFile(sFialPath,sNewFilePath))
 
 -                 SetDlgItemText(IDC_NOTICE,"改名成功");
 
 -         else
 
 -                 SetDlgItemText(IDC_NOTICE,"改名失败");
 
 - }
 
 
  复制代码我们来演示下功能实现的整个过程  
 |