Re: Shell Folders
От: Stuw  
Дата: 15.08.07 12:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Не работает корректно функция

А>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,…)?

Как вы переименовывали папку? На сколько я помню, имя папки берется каким-то образом через реестр.
Опишите поподробнее то, что хотите сделать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.