15,980
社区成员




BROWSEINFO bi;
TCHAR szDir[MAX_PATH];
LPITEMIDLIST pidl, pidlMyComputer;
LPMALLOC pMalloc;
LPSHELLFOLDER pDesktop;
CString strMyComputer = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
if (SUCCEEDED(SHGetMalloc(&pMalloc)))
{
if (SUCCEEDED(SHGetDesktopFolder(&pDesktop)))
{
if (SUCCEEDED(pDesktop->ParseDisplayName(NULL, NULL, strMyComputer.AllocSysString(), NULL, &pidlMyComputer, NULL)))
{
ZeroMemory(&bi,sizeof(bi));
bi.hwndOwner = m_hWnd;
bi.pidlRoot = pidlMyComputer;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;
if (pidl = SHBrowseForFolder(&bi))
{
if (SHGetPathFromIDList(pidl, szDir))
AfxMessageBox(szDir);
pMalloc->Free(pidl);
}
pMalloc->Free(pidlMyComputer);
}
pDesktop->Release();
}
pMalloc->Release();
}