WCHAR szPath[_MAX_PATH] = {};
BROWSEINFO bi;
//指定父窗口,在对话框显示期间,父窗口将被禁用
bi.hwndOwner = this->GetSafeHwnd();
//如果指定NULL,就以“桌面”为根
bi.pidlRoot = NULL;
//这一行将显示在对话框的顶端
bi.lpszTitle = _T("请选择一个文件夹");
bi.pszDisplayName = szPath;
//只返回文件系统中存在的文件夹
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;//回调函数的指针
bi.lParam = NULL;//传向回调函数的参数 //现在,调用函数来显示对话框
//它总与Windows的外壳程序Explorer保持相同的外观
LPITEMIDLIST pItemIDList = SHBrowseForFolder(&bi); if(pItemIDList){//点按了“确定”按钮
vFiles.clear();
TCHAR szPath[_MAX_PATH];
if (SHGetPathFromIDList(pItemIDList, szPath)){
EnumFiles(szPath, vFiles);
}
//防止内存泄漏,要使用IMalloc接口
IMalloc* pMalloc;
if (SHGetMalloc(&pMalloc) != NOERROR){
// 未返回有效的IMalloc接口指针
TRACE(_T("无法取得外壳程序的IMalloc接口\n"));
}
pMalloc->Free(pItemIDList);
if(pMalloc){
pMalloc->Release();
}
}

最新文章

  1. 三角剖分求多边形面积的交 HDU3060
  2. PAT-乙级-1048. 数字加密(20)
  3. java下实现调用oracle的存储过程和函数
  4. AFNetworking自带的解析图片的方法
  5. 2013.5.A
  6. Lucene实现索引和查询
  7. 使用 mysql PDO 防止sql注入
  8. Codeforces Round #407 (Div. 1)
  9. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
  10. Java多线程-线程池ThreadPoolExecutor构造方法和规则
  11. 理解ActivityManagerService
  12. Spark_RDD之RDD基础
  13. Java 8 Optional类深度解析(转载)
  14. ajax 406 Not Acceptable
  15. Git密钥生成步骤SSH Key
  16. 推荐C#网站、书籍、资源
  17. AtCoder Beginner Contest 022 A.Best Body 水题
  18. vue如何循环同一个echarts图表
  19. 摄影之HDR
  20. list推导式,dict推导式,set推导式

热门文章

  1. redis api-set
  2. Linux环境安装Golang
  3. centos查找文件\目录\内容命令
  4. firewalld学习-zone的使用和配置
  5. 201706 Ruby 基础 & 元编程
  6. Express 应用程序生成器
  7. Redis Cluster 获取主从关系
  8. springboot官网->application.properties文件
  9. jsp快速回顾
  10. C++代做,C++编程代做,C++程序代做,留学生C++ Lab代写