gpt4 book ai didi

c++ - 如何使用 SHGetFileInfo() 方法获取文件夹的打开图标?

转载 作者:太空狗 更新时间:2023-10-29 23:20:19 27 4
gpt4 key购买 nike

这是我做的:

LPMALLOC malloc;
LPITEMIDLIST pidl;
SHFILEINFO FileInfo;
SFGAOF sfGao;

if (SUCCEEDED(SHGetMalloc(&malloc))
{
if (SUCCEEDED(SHParseDisplayName(strDirPath, NULL, &pidl, SFGAO_FOLDER, &sfGao)))
{
SHGetFileInfo((LPCWSTR)(PCHAR(pidl)), 0, &FileInfo, sizeof(FileInfo), SHGFI_PIDL | SHGFI_ICON);
CDC* pDC = GetWindowDC();
pDC->DrawIcon(10, 10, FileInfo.hIcon);
ReleaseDC(pDC);
}
malloc->Free(pidl);
}
malloc->Release();

问题是:我发现我可以通过这种方法轻松获取文件夹的图标。但是当我将SHGetFileInfo方法的第四个参数设置为SHGFI_PIDL |时,我无法获取它的打开图标。 SHGFI_OPENICONFileInfohIcon 总是NULL,我也不知道为什么。

谁能告诉我如何解决这个问题?

最佳答案

来自评论:

我已经解决了这个问题。修改 SHGFI_PIDL | 第四个参数SHGFI_OPENICONSHGFI_PIDL | SHGFI_SYSICONINDEX | SHGFI_图标 | SHGFI_OPENICON,然后我就能够检索到指定文件夹的打开图标。

关于c++ - 如何使用 SHGetFileInfo() 方法获取文件夹的打开图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1090762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com