Код: Выделить всё
bool OpenFileOrDir(string& resname) {
BROWSEINFO bri{ 0 };
char buff[MAX_PATH]{ "" }, fname[MAX_PATH]{ "" };
//bri.hwndOwner = hDlg;
bri.pszDisplayName = buff;
bri.ulFlags = BIF_BROWSEINCLUDEFILES | BIF_DONTGOBELOWDOMAIN | BIF_NONEWFOLDERBUTTON | BIF_NOTRANSLATETARGETS | BIF_RETURNFSANCESTORS;
CoInitializeEx(nullptr, COINIT::COINIT_MULTITHREADED);
LPITEMIDLIST pIDL = SHBrowseForFolder(&bri);
bool isOk;
if (isOk = (pIDL != NULL)) {
SHGetPathFromIDListA(pIDL, fname);
CoTaskMemFree(pIDL);
}
CoUninitialize();
resname = string(fname);
return isOk;
}
Удаление BIF_BROWSEINCLUDEFILES тоже не помогает.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -ntdll-dll
Мобильная версия