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,"改名失败");
- }
复制代码我们来演示下功能实现的整个过程
|