В следующем коде я пытаюсь получить местоположение папки от пользователя. Однако, когда я выбрал E: \ в браузере папок, szAbsolutePath не дает мне путь для временной папки устройства записи компакт-дисков. Это мешает мне сохранить в это место. Однако, если я выберу что-то вроде E: \ folder1 \, я получу полный путь и могу записать файлы в это место.
char szDisplayName[MAX_PATH];
BROWSEINFO binfo;
memset(&binfo, 0, sizeof(BROWSEINFO));
binfo.lpszTitle = strTitle.c_str();
binfo.hwndOwner = hwndOwner;
binfo.pszDisplayName = szDisplayName;
binfo.ulFlags = BIF_USENEWUI | BIF_NEWDIALOGSTYLE | BIF_BROWSEFILEJUNCTIONS | BIF_RETURNONLYFSDIRS;
PIDLIST_ABSOLUTE pidl = SHBrowseForFolder(&binfo);
if(pidl) {
char szAbsolutePath[MAX_PATH];
SHGetPathFromIDList(pidl, szAbsolutePath);
}
Как я всегда могу получить полный путь, когда пользователь выбирает корень диска CD-R?