前言

  关键字:SHBrowseForFolder、SHGetPathFromIDList

  问题很菜,在网上找了一段想当然的代码改吧改吧,结果报错了,甚至都不知道错哪里,调试也没法跟踪。

正文

  一、问题代码

    CString szPath;
    BROWSEINFO bi;   
    bi.hwndOwner = m_hWnd;
    bi.pidlRoot = NULL;   
    bi.pszDisplayName = szPath.GetBuffer();   
    bi.lpszTitle =L"请选择目录:";   
    bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS; 
    bi.lpfn = NULL;   
    bi.lParam = 0;   
    bi.iImage = 0;   
    //弹出选择目录对话框
    LPITEMIDLIST lp = SHBrowseForFolder(&bi);   
    if(lp && SHGetPathFromIDList(lp, szPath.GetBuffer()))   
        AfxMessageBox(szPath);
    else   
        AfxMessageBox(L"无效的目录,请重新选择");

  二、报错截图

三、解决错误

    TCHAR szPath[MAX_PATH];
    BROWSEINFO bi;   
    bi.hwndOwner = m_hWnd;
    bi.pidlRoot = NULL;   
    bi.pszDisplayName = szPath;   
    bi.lpszTitle =L"请选择目录:";   
    bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS; 
    bi.lpfn = NULL;   
    bi.lParam = 0;   
    bi.iImage = 0;   
    //弹出选择目录对话框
    LPITEMIDLIST lp = SHBrowseForFolder(&bi);   
    if(lp && SHGetPathFromIDList(lp, szPath))   
        AfxMessageBox(CString(szPath));
    else   
        AfxMessageBox(L"无效的目录,请重新选择");

    说明:把CString改成了TCHAR数组。

结束语

  折腾很久,搜了老半天,最后把修改前的代码和修改后的代码比较了一下,才猜想出来。

[MFC]设置文件夹目录时遇到的问题相关推荐

  1. 管理员身份运行cmd;cmd命令切换到指定文件夹目录;cmd命令窗口中复制粘贴

    如何以管理员身份运行cmd? 点击任务栏搜索按钮,搜索 cmd 右键管理员身份打开 管理员身份运行cmd时的一些常用命令 i.目录操作: e: #切换到E盘(要想切换到某个文件夹,要先切换到文件夹所属 ...

  2. php进入目录,php文件,文件夹(目录)操作函数总结

    本文章来给各位同学总结一下在php中一些常用的文件夹/文件目录操作函数总结,这些只是简单的介绍一些基础方法做个备注. 1.创建目录(mkdir) bool mkdir (string $pathnam ...

  3. php怎么生成一个文件夹里,php创建文件夹目录的教程

    php 中可以使用 mkdir()  函数创建文件夹,但 mkdir() 创建文件夹时需要注意的事项有很多,下面就来详细的说一下. php创建文件夹的方法 示例1: php 在创建文件夹时,需要先使用 ...

  4. Android手机文件及文件夹目录详解

    Android手机/模拟器文件夹目录详解 [前言] 我所使用的是Genymotion模拟器,这个模拟器真的有够快的和真机差不多,如果你也想用的话,下面是我下载安装的一些经验 http://blog.c ...

  5. 服务器设置文件夹权限代码,服务器设置文件夹权限

    服务器设置文件夹权限 内容精选 换一换 媒资管理中显示的音视频文件同音视频管理中是一致的,除了有音视频管理页面的相关功能,您还可以在媒资管理中创建图片组并上传图片,以及创建文件夹.媒资管理暂只支持&q ...

  6. Android之手机文件夹目录详解

    android系统的手机文件夹目录详解 一.文件夹 1./acct/    系统回收站,删除的系统文件. 2./cache/    缓存 3./data/    用户的所有程序相关数据 app/    ...

  7. linux各个文件夹作用是什么,我的世界游戏文件夹目录作用介绍 各个文件夹都是什么用...

    我的世界游戏文件夹目录作用介绍 各个文件夹都是什么用.那下面给大家介绍的则是我的世界游戏文件夹目录索引的内容哦~那到底在我的世界文件夹中各个文件夹都有设么作用呢?那下面一一介绍一下吧! 游戏园我的世界 ...

  8. 安卓Android手机系统内文件夹目录解释

    Bluestorm's Space 博客园 首页 新随笔 联系 订阅 管理 随笔- 423 文章- 3 评论- 58  /storage/sdcard, /sdcard, /mnt/sdcard 三者 ...

  9. macOS开发之设置文件夹的图标

    我搭建了个人博客主页, 欢迎访问: http://blog.joelzho.com/ 一. 背景 前两天 iCloud 同步出现问题了, 我寻思换一款软件以解决两台 mac 之间的同步问题. 于是我下 ...

最新文章

  1. boos里的AHCI RAID_安徒恩Raid删除,安徒恩讨伐战上线,详细攻略快速看,成为新的摸金圣地...
  2. c# oldb连接_C#使用 OleDbConnection 连接读取Excel
  3. 云领未来,智慧共创 | 德勤咨询获「SAP 中国区2018年度优秀服务合作伙伴」
  4. RIA Service 的 SOAP EndPoint
  5. HDU 5411 CRB and Puzzle (2015年多校比赛第10场)
  6. van 自定义组件_vant 自定义 van-dropdown-item的用法
  7. memset函数源码实现
  8. 【转】SAP中的FTP操作样例
  9. uva 11269——Setting Problems
  10. leadshop商城系统源码-前后端代码开源-v1.0.0
  11. Android学习之自定义标题栏
  12. 关于qq创始人----马化腾的一些琐事
  13. 最简单的WebService
  14. ctf-希尔伯特曲线隐写
  15. STC12LE5612AD芯片使用心得(一)芯片介绍
  16. 跨时钟域处理所用到的同步器
  17. mysql命令桌面壁纸_【upupoo动态桌面壁纸和mysql-jdbc.jar哪个好用】upupoo动态桌面壁纸和mysql-jdbc.jar对比-ZOL下载...
  18. Ubuntu 部署 Flask + WSGI + Nginx 详解
  19. 一篇文章,助你实现认知突破,重获新生
  20. 70个居家做饭小技巧

热门文章

  1. matlab子函数调用变量,matlab中,怎么样用function自定义函数调用另一个函数名为输入?...
  2. java 创建文件夹的方法_Java创建文件夹的方法
  3. mysql子查询sysdate_Oracle向MySQL 迁移相关事项
  4. ext springmvc mysql_基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)...
  5. oracle 9i sql_id,Oracle9i增添 wm_concat函数(转)
  6. java静态代码块的作用域_java基础之面向对象
  7. js aes加密_nodejs中使用Crypto-JS对图片进行加解密
  8. java泛型(一)、泛型的基本介绍和使用
  9. linux第一次防火墙
  10. mqtt js 中乱码_Vue.js 中的 v-cloak 指令——Vue学习之路