Здравствуйте, Аноним, Вы писали:
А>Не работает корректно функция А>HRESULT SHGetFolderPath(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPTSTR pszPath) А>после переименования стандартных папок (dwFlags=SHGFP_TYPE_CURRENT при этом)
А>Например: А>Меняем имя C:\Users\Yura\Videos на С:\Users\Yura\Videos2. (текущая ОС ->Win Vista но в XP тоже не работает)
А>Имеем
А>TCHAR szFolderPath[MAX_PATH];
А>if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_MYVIDEO, NULL, SHGFP_TYPE_DEFAULT, szFolderPath))) А>{ А> //этот код не выполняеться А>}
А>Функция не возвращает S_FALSE, E_FAIL, E_INVALIDARG, S_OK, szFolderPath остаеться без изменений. А>Кто подскажет альтернативу. Но мне не подойдет простой перебор папок, так как надо изьять именно папку Videos (или My Video в XP) а название может быть любое (после того как ее переименовали!!!). Или может кто знает как можна розличить эту папку среди других (Documents, Pictures,…)?
Как вы переименовывали папку? На сколько я помню, имя папки берется каким-то образом через реестр.
Опишите поподробнее то, что хотите сделать.