Home > Software engineering >  Through IShellView under xp desktop file cannot be used
Through IShellView under xp desktop file cannot be used

Time:09-23

 
IShellFolder * PSF.
If (SUCCEEDED (SHGetDesktopFolder (& amp; PSF)))
{
Into SHGetDesktopFolder OutputDebugStringA (" ");
IShellView * psve;
SFV_CREATE SFV;
SFV. CbSize=sizeof (SFV_CREATE);
SFV. PSFVCB=NULL;
SFV. PSHF=PSF;
SFV. PsvOuter=NULL;/* */
If (SUCCEEDED (SHCreateShellFolderView (& amp; SFV, (IShellView * *) & amp; Psve)))
{
Into CreateViewObject OutputDebugStringA (" ");
IEnumIDList * pedl;
LPITEMIDLIST pidlItem;
If (SUCCEEDED (PSF - & gt; EnumObjects (hExplorer SHCONTF_NONFOLDERS, & amp; Pedl)))
{
Into pedl OutputDebugStringA (" ");
int index=0;
Do
{
Int bindex=0;
STRRET STR.
Pedl - & gt; Next (index++, & amp; PidlItem, (ULONG *) & amp; Bindex);
If (SUCCEEDED (PSF - & gt; GetDisplayNameOf (pidlItem SHGDN_FORPARSING, & amp; STR)))
{

TCHAR szItem [MAX_PATH];
StrRetToBuf (& amp; STR, pidlItem szItem MAX_PATH);
If (isReviseFile (szItem))
{
OutputDebugString (szItem);
Psve - & gt; SelectItem (pidlItem SVSI_DESELECT);

}
}
} while (pidlItem!=NULL);
}
Psve - & gt; Release ();
}
PSF - & gt; Release ();
}

CodePudding user response:

Psve - & gt; SelectItem (pidlItem SVSI_DESELECT); Desktop file selected has not changed

CodePudding user response:

Please answer:
  • Related