0
SHBrowseForFolder
and folder shortcut browsing에 대한 조사가 끝날 때까지 제기 한 문제를 해결하려고합니다. IFolderFilter
님의 회원 기능 ShouldShow
이 폴더 및 폴더 바로 가기를 제외하고 모든 항목을 필터링하는 방법을 알 수 없습니다.SHBrowseForFolder에서 폴더 바로 가기를 탐색 할 수 있습니까?
나는 이것에 많은 문서를 발견하지 않은 내 현재의 솔루션은 아래를 참조하십시오, 작동하지 않습니다
여기내가 함수에있는 내용은 다음과 같습니다
이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;
}
이 사람이 나에게 무엇을 말할 수 코드 그러나 폴더 및 폴더 단축키를 필터링하려면 추가해야합니다 (폴더 단축키를 여전히 탐색 할 수 있어야합니까)?
미리 감사드립니다.
귀하의 함수는 항상 S_OK를 반환합니다. 그게 당신의 의도인가요? – Bill
아니, 그것은 궁극적 인 해결책이 아닙니다. 나는 내가 가지고있는 것이 바로 가기 폴더인지 아닌지를 결정할 방법을 찾지 못했기 때문에 S_OK를 올바르게 반환하는 방법을 찾을 때까지 모든 것을 S_OK로 반환한다. 나는'if (attributes & SFGAO_FOLDER)'부분이 맞지만'else if (attributes & SFGO_LINK)'가 불완전하다고 생각합니다. –