Я пытаюсь решить проблему, поднятую в конце исследования по SHBrowseForFolder
и просмотру ярлыков папок : я не могу понять, как функция-член IFolderFilter
ShouldShow
должно работать, чтобы отфильтровать все, кроме папок и ярлыков папок.
Я не нашел много документации по этому вопросу, и мое текущее решение не работает, см. Ниже:
Вот что у меня есть для функции:
HRESULT STDMETHODCALLTYPE ShouldShow(IShellFolder* sf, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlItem)
{
HRESULT resultCode = S_OK;
ULONG attributes = 0UL;
if (SUCCEEDED(sf->GetAttributesOf(1, &pidlItem, &attributes)))
{
if (attributes & SFGAO_FOLDER)
{
resultCode = S_OK; // Yes, I see the folders
}
else if (attributes & SFGAO_LINK)
{
// How do I determine if it is a folder AND let the end-user explore them?
// I ran the code with the resultCode = S_OK just to see what happens
// it displays the shortcut folders, but I cannot explore them. When I
// "expand" them (click on the plus-sign-box), nothing happens.
}
}
return resultCode;
}
Может кто-нибудь сказать мне, какой код мне нужно добавить, чтобы отфильтровать все , но папки и ярлыки папок (и при этом иметь возможность просматривать ярлыки папок)?
Заранее спасибо!