我正在尝试解决我在SHBrowseForFolder
and folder shortcut browsing调查结束时提出的问题:我无法弄清楚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;
}
任何人都可以告诉我需要添加哪些代码来过滤掉所有但文件夹和文件夹快捷方式(并且仍然可以浏览文件夹快捷方式)?
提前致谢!
答案 0 :(得分:0)
似乎没有办法。