BOOL SetFolderPath() { BROWSEINFO bsi; TCHAR szPath[MAX_PATH+1] = { '\0' }; // Full path of folder LPITEMIDLIST lpidlist; ZeroMemory(&bsi, sizeof(BROWSEINFO)); ZeroMemory(&lpidlist, sizeof(LPITEMIDLIST)); bsi.hwndOwner = NULL; bsi.pszDisplayName = szPath; bsi.lpszTitle = _T("Select folder"); bsi.ulFlags = BIF_RETURNONLYFSDIRS; bsi.pidlRoot = NULL; bsi.lpfn = NULL; bsi.lParam = NULL; bsi.iImage = NULL; // フォルダ選択ダイアログの表示 lpidlist = SHBrowseForFolder(&bsi); if (!lpidlist) { cout << "please select bin folder." << endl; return FALSE; } //選択されたフォルダの絶対パスを取得 SHGetPathFromIDList(lpidlist, szPath); CoTaskMemFree(lpidlist); return TRUE; }