MFC的界面中,需要实现这样两个功能:

1、在界面上加一个按钮,单击按钮弹出一个对话框选择文件,在工程中获得文件的路径;

2、在界面上加一个按钮,单击按钮弹出一个对话框选择文件夹,在工程中获取文件夹的路径。

一、获取文件路径

 1 // -- 按钮的消息响应函数
2 void CDialogSampled::OnBnClickedButtonOpen()
3 {
4 // TODO: 在此添加控件通知处理程序代码
5 CString m_strFilePath = _T("");
6
7 //获取文件路径名
8 LPCTSTR szFilter =_T("TXT(*.txt)|*.txt|LOG(*.log)|*.log|ALLSUPORTFILE(*.*)|*.*||");
9 CFileDialog dlgFileOpenImg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,NULL);
10 //打开txt文件
11 if(dlgFileOpenImg.DoModal() == IDOK)
12 {
13 //读取文件名
14 m_strFilePath = dlgFileOpenImg.GetPathName();
15 }
16 else
17 {
18 return;
19 }
20 }

二、获取文件夹路径

//选择保存路径
void CDialogSampled::OnBnClickedButtonSavePathSelect()
{
// TODO: 在此添加控件通知处理程序代码
CString m_saveFilePath;
//打开文件,获取文件路径名
TCHAR szPath[_MAX_PATH];
BROWSEINFO bi;
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.lpszTitle = "Please select the input path";
bi.pszDisplayName = szPath;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = NULL; LPITEMIDLIST pItemIDList = SHBrowseForFolder(&bi); if(pItemIDList)
{
if(SHGetPathFromIDList(pItemIDList,szPath))
{
m_saveFilePath = szPath;
m_saveFilePath = m_saveFilePath+"\\";
} //use IMalloc interface for avoiding memory leak
IMalloc* pMalloc;
if( SHGetMalloc(&pMalloc) != NOERROR )
{
TRACE(_T("Can't get the IMalloc interface\n"));
} pMalloc->Free(pItemIDList);
if(pMalloc)
pMalloc->Release();
UpdateData(FALSE);
}
}

MFC获取文件路径和文件夹路径的更多相关文章

  1. 只用ipv6 两台机器共享文件夹, 局域网连接路径,共享文件夹路径中ipv6地址如何表示

    1. 首先要确认你的DNS服务器支持IPv6,一般是指网络中的路由. 2. 如果网络中没有路由,则直接在hosts文件中添加对方的IPv6地址与名字. 3. 利用UNC路径,把冒号修改为连字符并附加. ...

  2. VC 获取指定文件夹路径的方法小结

    VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath( ...

  3. java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

    java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...

  4. C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

    https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new Ope ...

  5. PHP获取文件夹内所有文件包括子目录文件的名称或路径

    /* * new getFile($_dir[,$_emptyDir,$_fileType]); * @parma $_dir 是目录名称 * @parma $_emptyDir 是否获取空文件夹,选 ...

  6. Bash Shell 解析路径获取文件名称和文件夹名

    前言 还是今天再写一个自己主动化打包脚本.用到了从路径名中获取最后的文件名称.这里记录一下实现过程. 当然,最后我也会给出官方的做法.(ps:非常囧,实现完了才发现原来Bash Shell有现成的函数 ...

  7. python 获取当前文件夹路径及父级目录的几种方法

    获取当前文件夹路径及父级目录: import os current_dir = os.path.abspath(os.path.dirname(__file__)) print(current_dir ...

  8. [C#]Windows系统特殊文件夹路径获取

    原文:[C#]Windows系统特殊文件夹路径获取 由于软件开发的需要,近期对Windows特殊文件夹(如桌面,我的文档等)路径的查找方法进行了研究,结果如下. 获取特殊文件夹的方法不止一种,下面列出 ...

  9. Delphi获取文件名、不带扩展名文件名、文件所在路径、上级文件夹路径的方法

    1.获取不带扩展名的文件名方法,利用ChangeFileExt函数修改传入参数的扩展为空,并不会对文件本身产生变更. ChangeFileExt(ExtractFileName('D:\KK\Test ...

随机推荐

  1. wpf 实现印章,公章效果

    能写一些特定外观的控件,是一个做界面开发的程序员的基础技能.基本上,不管你是做web,QT,MFC,Winform,WPF等等,如果自己看到一个比较好看的有趣的效果,能大致推断出它的实现方式并照猫画虎 ...

  2. final、finally与finalize的区别?

    一.final.finally与finalize的区别 final:final是一个修饰符,可以修饰类,方法和变量.final修饰类表示类不能被其它类继承,并且该类中的所有方法都会隐式的被final修 ...

  3. C# 简单的对称加密

    const string KEY_64 = "HuidTeac";//注意了,是8个字符 const string IV_64 = "HuidTeac"; pu ...

  4. spring学习日志四

    一.spring对JDBC的支持 JdbcTemplate 简介 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. 作为 ...

  5. WPF---控件模板(一)

    一.控件模板概述 控件的外观通过一个ControlTemplate类型的对象确定,该对象指定了组成一个控件的显示的各种视觉元素. 当WPF创建一个控件时,会创建一个控件类(模板父)的实例,然后实例化通 ...

  6. 使用Spark开发应用程序,并将作业提交到服务器

    1.pycharm编写spark应用程序 由于一些原因在windows上配置未成功(应该是可以配置成功的).我是在linux上直接使用pycharm,在linux的好处是,环境可能导致的一切问题不复存 ...

  7. 何时覆盖hashCode()和equals()方法

    The theory (for the language lawyers and the mathematically inclined): equals() (javadoc) must defin ...

  8. JAVA 各种时间类型转换

    final Date date = new Date(); final Timestamp timestamp = new Timestamp(date.getTime()); final Calen ...

  9. go逃逸分析

    目录 1. 前言 2. 逃逸策略 3. 逃逸场景 3.1 指针逃逸 3.2 栈空间不足逃逸 3.3 动态类型逃逸 3.4 闭包引用对象逃逸 4 逃逸总结 5. 注意事项 1. 前言 所谓的逃逸分析(E ...

  10. centos7 Tomcat 多项目配置

    2021-07-30 1. Tomcat 各目录功能说明 bin :脚本文件目录,存放启动和关闭 Tomcat 的脚本文件conf:存放 Tomcat 的配置文件,server.xml 尤其重要log ...