Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > неочевидная работа SHGetSpecialFolderLocation


Автор: tim91 28.4.2011, 18:51
Код

LPITEMIDLIST pidl; 
    char buffer[256];
    SHGetSpecialFolderLocation(NULL,CSIDL_RECENT ,&pidl);
    if (pidl==NULL) return -1;
    SHGetPathFromIDList(pidl, (LPWSTR)buffer);
    printf("%s \n", buffer);


printf  выводит "C" при любом втором параметре в SHGetSpecialFolderLocation. Как быть?

Автор: jimbo 28.4.2011, 19:14
Код

LPITEMIDLIST pidl; 
    char buffer[256];
    SHGetSpecialFolderLocation(NULL,CSIDL_RECENT ,&pidl);
    if (pidl==NULL) return -1;
    SHGetPathFromIDListA(pidl, (LPWSTR)buffer);
    printf("%s \n", buffer);

Автор: GremlinProg 28.4.2011, 19:16
Цитата(tim91 @  28.4.2011,  20:51 Найти цитируемый пост)

LPITEMIDLIST pidl;
     TCHAR buffer[256];
    SHGetSpecialFolderLocation(NULL,CSIDL_RECENT ,&pidl);
    if (pidl==NULL) return -1;
    SHGetPathFromIDList(pidl, buffer);
    printf("%s \n", buffer);


Добавлено через 1 минуту и 45 секунд
соответственно:
Цитата(tim91 @  28.4.2011,  20:51 Найти цитируемый пост)
_tprintf("%s \n", buffer);

Автор: jimbo 28.4.2011, 19:20
L""

Автор: tim91 28.4.2011, 20:23
Спасибо всем! Окончательный результат:


Код

    LPITEMIDLIST pidl;
    TCHAR buffer[256];
    SHGetSpecialFolderLocation(NULL,CSIDL_RECENT ,&pidl);
    if (pidl==NULL) return -1;
    SHGetPathFromIDList(pidl, buffer);
    printf(TEXT("%s \n"), buffer);

Автор: ASMatic 29.4.2011, 03:13
jimbo, 
SHGetPathFromIDListA(pidl, (LPWSTR)buffer);
ванинг обеспечен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)