Advertisement
chino

Create Folder Select Dialog and Get Full Path

Aug 18th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. BOOL SetFolderPath()
  2. {
  3.     BROWSEINFO bsi;
  4.     TCHAR szPath[MAX_PATH+1] = { '\0' }; // Full path of folder
  5.     LPITEMIDLIST lpidlist;
  6.  
  7.     ZeroMemory(&bsi, sizeof(BROWSEINFO));
  8.     ZeroMemory(&lpidlist, sizeof(LPITEMIDLIST));
  9.  
  10.     bsi.hwndOwner = NULL;
  11.     bsi.pszDisplayName = szPath;
  12.     bsi.lpszTitle = _T("Select folder");
  13.     bsi.ulFlags = BIF_RETURNONLYFSDIRS;
  14.     bsi.pidlRoot = NULL;
  15.     bsi.lpfn = NULL;
  16.     bsi.lParam = NULL;
  17.     bsi.iImage = NULL;
  18.  
  19.  
  20.     // フォルダ選択ダイアログの表示
  21.     lpidlist = SHBrowseForFolder(&bsi);
  22.     if (!lpidlist)
  23.     {
  24.         cout << "please select bin folder." << endl;
  25.         return FALSE;
  26.     }
  27.  
  28.     //選択されたフォルダの絶対パスを取得
  29.     SHGetPathFromIDList(lpidlist, szPath);
  30.     CoTaskMemFree(lpidlist);
  31.  
  32.     return TRUE;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement