[MFC]设置文件夹目录时遇到的问题
前言
关键字:SHBrowseForFolder、SHGetPathFromIDList
问题很菜,在网上找了一段想当然的代码改吧改吧,结果报错了,甚至都不知道错哪里,调试也没法跟踪。
正文
一、问题代码
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"无效的目录,请重新选择");
二、报错截图
三、解决错误
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]设置文件夹目录时遇到的问题相关推荐
- 管理员身份运行cmd;cmd命令切换到指定文件夹目录;cmd命令窗口中复制粘贴
如何以管理员身份运行cmd? 点击任务栏搜索按钮,搜索 cmd 右键管理员身份打开 管理员身份运行cmd时的一些常用命令 i.目录操作: e: #切换到E盘(要想切换到某个文件夹,要先切换到文件夹所属 ...
- php进入目录,php文件,文件夹(目录)操作函数总结
本文章来给各位同学总结一下在php中一些常用的文件夹/文件目录操作函数总结,这些只是简单的介绍一些基础方法做个备注. 1.创建目录(mkdir) bool mkdir (string $pathnam ...
- php怎么生成一个文件夹里,php创建文件夹目录的教程
php 中可以使用 mkdir() 函数创建文件夹,但 mkdir() 创建文件夹时需要注意的事项有很多,下面就来详细的说一下. php创建文件夹的方法 示例1: php 在创建文件夹时,需要先使用 ...
- Android手机文件及文件夹目录详解
Android手机/模拟器文件夹目录详解 [前言] 我所使用的是Genymotion模拟器,这个模拟器真的有够快的和真机差不多,如果你也想用的话,下面是我下载安装的一些经验 http://blog.c ...
- 服务器设置文件夹权限代码,服务器设置文件夹权限
服务器设置文件夹权限 内容精选 换一换 媒资管理中显示的音视频文件同音视频管理中是一致的,除了有音视频管理页面的相关功能,您还可以在媒资管理中创建图片组并上传图片,以及创建文件夹.媒资管理暂只支持&q ...
- Android之手机文件夹目录详解
android系统的手机文件夹目录详解 一.文件夹 1./acct/ 系统回收站,删除的系统文件. 2./cache/ 缓存 3./data/ 用户的所有程序相关数据 app/ ...
- linux各个文件夹作用是什么,我的世界游戏文件夹目录作用介绍 各个文件夹都是什么用...
我的世界游戏文件夹目录作用介绍 各个文件夹都是什么用.那下面给大家介绍的则是我的世界游戏文件夹目录索引的内容哦~那到底在我的世界文件夹中各个文件夹都有设么作用呢?那下面一一介绍一下吧! 游戏园我的世界 ...
- 安卓Android手机系统内文件夹目录解释
Bluestorm's Space 博客园 首页 新随笔 联系 订阅 管理 随笔- 423 文章- 3 评论- 58 /storage/sdcard, /sdcard, /mnt/sdcard 三者 ...
- macOS开发之设置文件夹的图标
我搭建了个人博客主页, 欢迎访问: http://blog.joelzho.com/ 一. 背景 前两天 iCloud 同步出现问题了, 我寻思换一款软件以解决两台 mac 之间的同步问题. 于是我下 ...
最新文章
- boos里的AHCI RAID_安徒恩Raid删除,安徒恩讨伐战上线,详细攻略快速看,成为新的摸金圣地...
- c# oldb连接_C#使用 OleDbConnection 连接读取Excel
- 云领未来,智慧共创 | 德勤咨询获「SAP 中国区2018年度优秀服务合作伙伴」
- RIA Service 的 SOAP EndPoint
- HDU 5411 CRB and Puzzle (2015年多校比赛第10场)
- van 自定义组件_vant 自定义 van-dropdown-item的用法
- memset函数源码实现
- 【转】SAP中的FTP操作样例
- uva 11269——Setting Problems
- leadshop商城系统源码-前后端代码开源-v1.0.0
- Android学习之自定义标题栏
- 关于qq创始人----马化腾的一些琐事
- 最简单的WebService
- ctf-希尔伯特曲线隐写
- STC12LE5612AD芯片使用心得(一)芯片介绍
- 跨时钟域处理所用到的同步器
- mysql命令桌面壁纸_【upupoo动态桌面壁纸和mysql-jdbc.jar哪个好用】upupoo动态桌面壁纸和mysql-jdbc.jar对比-ZOL下载...
- Ubuntu 部署 Flask + WSGI + Nginx 详解
- 一篇文章,助你实现认知突破,重获新生
- 70个居家做饭小技巧
热门文章
- matlab子函数调用变量,matlab中,怎么样用function自定义函数调用另一个函数名为输入?...
- java 创建文件夹的方法_Java创建文件夹的方法
- mysql子查询sysdate_Oracle向MySQL 迁移相关事项
- ext springmvc mysql_基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)...
- oracle 9i sql_id,Oracle9i增添 wm_concat函数(转)
- java静态代码块的作用域_java基础之面向对象
- js aes加密_nodejs中使用Crypto-JS对图片进行加解密
- java泛型(一)、泛型的基本介绍和使用
- linux第一次防火墙
- mqtt js 中乱码_Vue.js 中的 v-cloak 指令——Vue学习之路