参考

https://www..com/Hisin/archive/2012/02/27/2370614.html
https://www..com/ranjiewen/p/5697219.html

代码

CString s_save_path;//存放选择的目录
CMutex g_mtx;//选择文件夹对话框回调函数
int CALLBACK BrowseCallBackFun(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{switch (uMsg){case BFFM_INITIALIZED:  //选择文件夹对话框初始化  //设置默认路径为lpData即'D:\'  ::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData);//在STATUSTEXT区域显示当前路径  ::SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, lpData);//设置选择文件夹对话框的标题  ::SetWindowText(hwnd, TEXT("请先设置个工作目录"));break;case BFFM_SELCHANGED:   //选择文件夹变更时  {TCHAR pszPath[MAX_PATH];//获取当前选择路径  SHGetPathFromIDList((LPCITEMIDLIST)lParam, pszPath);//在STATUSTEXT区域显示当前路径  ::SendMessage(hwnd, BFFM_SETSTATUSTEXT, TRUE, (LPARAM)pszPath);}break;}return 0;
}void OnSelectPath(){g_mtx.Lock();char szPath[MAX_PATH];     //存放选择的目录路径 //CString str;char* tmp = s_save_path.GetBuffer();//获取上一次路径,CString->char*ZeroMemory(szPath, sizeof(szPath));BROWSEINFO bi;bi.hwndOwner = this->GetSafeHwnd();bi.pidlRoot = NULL;bi.pszDisplayName = szPath;bi.lpszTitle = "请选择需要打包的目录:";bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_STATUSTEXT;bi.lpfn = BrowseCallBackFun;//回调函数bi.lParam = (LPARAM)TEXT(tmp);//上一次路径bi.iImage = 0;//弹出选择目录对话框LPITEMIDLIST lp = SHBrowseForFolder(&bi);if (lp && SHGetPathFromIDList(lp, szPath)){//str.Format("选择的目录为 %s", szPath);s_save_path.Format("%s", szPath);//获得新路径//AfxMessageBox(str);}elseAfxMessageBox("无效的目录,请重新选择");g_mtx.Unlock();
}

【MFC】选择文件夹时,记忆上一次路径相关推荐

  1. asp.net 创建文件夹时出错:未找到路径“D:\”的一部分。(asp.net 使用 FSO)

    这些天在整一个博客程序,其中的相册功能自然就用到IO.Directory和IO.DirectoryInfo对象,这两个对象会遍历网站所在的硬盘的磁盘根目录,不巧的是,博客传到购买的虚拟主机空间后,相册 ...

  2. antd 选择文件夹_antd 手动上传文件

    先说我要实现的效果:我想用antd 的 upload 实现手动上传文件,上传文件时还有附加参数 我看了官网上说在beforeUpload中返回false,然后通过按钮点击事件触发上传. Q1:附加参数 ...

  3. 打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹

    当您使用FTP上传数据的时候,经常会遇到"打开FTP"无权限的提示,这是由于您的浏览器设置了防火墙的缘故,下面是正确的设置流程: 1. 首先打开一个IE浏览器(如果打开了多个浏览器 ...

  4. ftp上传显示服务器错误,FTP文件夹错误:打开FTP服务器上的文件夹时发生错误

    问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...

  5. 【无标题】FTP文件夹错误:打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。

    问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...

  6. 上传文件到某文件夹时,提示...路径访问被拒绝

    上传文件到某文件夹时,提示...路径访问被拒绝 解决方法:是因为文件的权限没有更改,在所需访问的文件夹右键,属性,"安全"选项卡选用user全部权限都勾上.

  7. 截取字符串,计算字符串字节大小,选择文件夹,上传文件

    获取(.)点前一个字符 string s = "123_u.jpg"; string strKzm = s.Substring(s.LastIndexOf("." ...

  8. “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹

    阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...

  9. 打开ftp服务器上的文件夹时发生错误 请检查是否,以及220 227 报错

    2019独角兽企业重金招聘Python工程师标准>>> 在没有进行设置过程中,进行连接到ftp的服务器中之后,会提示的是错误的信息为"打开ftp服务器上的文件夹时发生错误 ...

最新文章

  1. IDEA无法在service层用注解方式注入mapper
  2. 你如果只是一直囤干货,那永远不可能进步
  3. 试了下CommonLisp的WEB开发
  4. JAVA的静态代理与动态代理比较--转载
  5. mysql数据库安全配置文件_MySQL数据库安全配置
  6. linux系统服务详解 用于Linux系统服务优化
  7. OP AMP - 反馈理论在运放中的应用
  8. MQTT工作笔记0001---MQTT协议概述
  9. pcc定义_PCC介绍——智能管道
  10. php redis decr_Redis在PHP项目中的实际应用场景
  11. Supper (Java)
  12. php的弹出窗口,弹出窗口 PHP
  13. Rust: codewars 的Duplicate Encoder
  14. linux qt读取显示图片,Linux下使用QT调用opencv读取摄像头视频 调试心得
  15. 基于SWMM及自主开发城市内涝一维二维耦合软件的复杂城市排水系统建模技术及在城市排涝、海绵城市等领域实践
  16. Linux常用软件包安装工具及配置方法(apt-get, pip, dpkg)
  17. 雷军北大15分钟演讲:我至少有胆量去想
  18. MCE公司:MCE 为您带来新惊喜--甲状腺癌新克星竞相登场!
  19. 华为开发者学堂上线《HarmonyOS Connect开发》系列课
  20. InputStream的read方法

热门文章

  1. servlet指定时间到现在过了多久_就喝一瓶啤酒,多久能开车?交警:过了这个时间,100%没问题...
  2. java 对外提供接口_Java服务器对外提供接口以及Android端向服务器请求数据
  3. AI:2020年6月22日北京智源大会演讲分享之《语音与自然语言处理》09:10-09:40 Christopher 教授《基于深度上下文词表征的语言结构的发现》
  4. 成功解决python\ops\seq2seq.py TypeError: ms_error() got an unexpected keyword argument 'labels'
  5. AI:一个20年程序猿的学习资料大全—结构分析软件/办公软件/电气制造控制/高级语言编程/平面三维设计/视频编辑/FQ格式转换软件——只有你不想要的,没有你找不到的
  6. DL之CNN:计算机视觉之卷积神经网络算法的简介(经典架构/论文)、CNN优化技术、调参学习实践、CNN经典结构及其演化、案例应用之详细攻略
  7. Hyperopt中文文档:FMin
  8. JSP中文乱码问题(get,post篇)
  9. OS_FLAG.C(2)
  10. shp文件导入数据库