SHGetPathFromIDList 函数可以将一个 ITEMIDLIST 结构体转换为一个以 null 结尾的字符串(即 char*)。你可以使用以下代码来获取 char*:

LPITEMIDLIST pidl; // assume pidl is initialized
TCHAR szPath[MAX_PATH];

if (SHGetPathFromIDList(pidl, szPath))
{
    // szPath now contains the path as a null-terminated string
    char* path = new char[MAX_PATH];
    wcstombs(path, szPath, MAX_PATH);
    // path now contains the path as a char*
}
else
{
    // SHGetPathFromIDList failed
}

注意,你需要使用 wcstombs 函数将 TCHAR 字符串(宽字符)转换为 char* 字符串(窄字符)。

c++ SHGetPathFromIDList 获取char

原文地址: http://www.cveoy.top/t/topic/hcGp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录