3,245
社区成员
发帖
与我相关
我的任务
分享
IShellFolder *psf;
if (SUCCEEDED(SHGetDesktopFolder(&psf)))
{
OutputDebugStringA("into SHGetDesktopFolder");
IShellView* psve;
SFV_CREATE sfv;
sfv.cbSize = sizeof(SFV_CREATE);
sfv.psfvcb = NULL;
sfv.pshf = psf;
sfv.psvOuter = NULL; /**/
if (SUCCEEDED(SHCreateShellFolderView(&sfv, (IShellView**)&psve)))
{
OutputDebugStringA("into CreateViewObject");
IEnumIDList* pedl;
LPITEMIDLIST pidlItem;
if (SUCCEEDED(psf->EnumObjects(hExplorer, SHCONTF_NONFOLDERS, &pedl)))
{
OutputDebugStringA("into pedl");
int index = 0;
do
{
int bindex = 0;
STRRET str;
pedl->Next(index++, &pidlItem, (ULONG*)&bindex);
if (SUCCEEDED(psf->GetDisplayNameOf(pidlItem, SHGDN_FORPARSING, &str)))
{
TCHAR szItem[MAX_PATH];
StrRetToBuf(&str, pidlItem, szItem, MAX_PATH);
if (isReviseFile(szItem))
{
OutputDebugString(szItem);
psve->SelectItem(pidlItem, SVSI_DESELECT);
}
}
} while (pidlItem != NULL);
}
psve->Release();
}
psf->Release();
}