CString setSavePath()
{
CString strPath = _T("");
HRESULT hr;
LPITEMIDLIST pItemList;
BROWSEINFO browseinfo;
TCHAR path[MAX_PATH];
hr = ::CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (FAILED(hr)) {
TRACE("CoInitEx failed: %x\n", hr);
return strPath;
} IMalloc *pMalloc = NULL;
hr = SHGetMalloc(&pMalloc);
if (FAILED(hr)) {
TRACE("Can't retrieve system's IMalloc interface: %x\n", hr);
return strPath;
}
ENSURE(pMalloc); memset(&browseinfo, , sizeof(BROWSEINFO));
CString strCaption;
browseinfo.hwndOwner = GetSafeHwnd();
browseinfo.pszDisplayName = path;
browseinfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_RETURNONLYFSDIRS;
strCaption.LoadString(IDS_SAVEPATH_CONFIG);
browseinfo.lpszTitle = strCaption; pItemList = ::SHBrowseForFolder(&browseinfo);
if (pItemList) {
// Behold the elegance of CStrBuf!
::SHGetPathFromIDList(pItemList, CStrBuf(strPath, MAX_PATH));
pMalloc->Free(pItemList);
UpdateData(FALSE);
}
pMalloc->Release();
pMalloc = NULL;
::CoUninitialize(); return strPath;
}

最新文章

  1. Python MongoDB使用介绍
  2. Java实现画八卦
  3. Ubuntu apt-get "Hash Sum mismatch" 问题解决方法
  4. SSL/TLS协议运行机制
  5. JAVA代码热部署,在线不停服动态更新
  6. Linux信号类型说明
  7. Leetcode 198 House Robber
  8. Java的静态导入
  9. Ajax请求在IE和Google Chrome中可以响应,在Firefox中无法响应
  10. webservice拦截器 查看消息包(soap)
  11. Android自己主动化測试——CTS測试
  12. Leetcode:Unique Binary Search Trees & Unique Binary Search Trees II
  13. ucos信号量集源码分析
  14. keil4编译Error: User Command terminated, Exit-Code = 1解决
  15. JVM调优入门之初探
  16. es修改指定的field(partial update)
  17. Direct2D教程V——位图(Bitmap)和位图笔刷(BitmapBrush)
  18. linux常用命令:which 命令
  19. 20145321 《网络对抗技术》 MSF基础应用
  20. BZOJ1495 [NOI2006]网络收费 【树形dp + 状压dp】

热门文章

  1. pymol installation
  2. 18. class
  3. 多视图学习利器----CCA(典型相关分析)及MATLAB实现
  4. How to build a NFS Service
  5. cookie---session
  6. 如何在MyEclipse上添加更换JRE
  7. ios官方菜单项目重点剖析附项目源码
  8. Applying vector median filter on RGB image based on matlab
  9. RabbitMQ学习
  10. [UML]UML系列——时序图(顺序图)sequence diagram