是这样吗?
BOOL GetDesktopPath(CString &strPath)
{
int nCSIDIndex=CSIDL_DESKTOPDIRECTORY;
char Path[MAX_PATH+1];
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
nCSIDIndex,&pidl)))
{
if(SHGetPathFromIDList(pidl, Path))
{
strPath=Path;
return TRUE;
}
else//SHGetPathFromIDList(pidl, Path))
{
return FALSE;
}
pShellMalloc->Free(pidl);
}
else//SHGetSpecialFolderLocation
{
return FALSE;
}
pShellMalloc->Release();
}
else//SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
return FALSE;
}
}
BOOL GetDesktopPath(CString &strPath)
{
int nCSIDIndex=CSIDL_DESKTOPDIRECTORY;
char Path[MAX_PATH+1];
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
nCSIDIndex,&pidl)))
{
if(SHGetPathFromIDList(pidl, Path))
{
strPath=Path;
return TRUE;
}
else//SHGetPathFromIDList(pidl, Path))
{
return FALSE;
}
pShellMalloc->Free(pidl);
}
else//SHGetSpecialFolderLocation
{
return FALSE;
}
pShellMalloc->Release();
}
else//SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
return FALSE;
}
}
解决方案 »
- cximage decode的问题
- 二战时密码经常被破译,为啥他们不用AES RSA RC4之类
- 孙鑫著作《VC++深入详解》第15章主线程暂停执行的问题
- VFW 能捕捉 无驱的摄像头的图像和视频吗?
- [VMR9] 使用VMR9混合视频给视频增加Alpha控制台时出现缩放的问题
- 有谁用过xtreme tookit pro 8.7的CXTEditListBox::SetListEditStyle
- 请教,字符串赋值之后数据会丢失吗?
- 请问再哪里能够得到 2001.7月版的msdn?
- 那里可以下载到老版本的MSDN,支持VS6.0的
- printf()和cout
- 在一个多线程程序中,一个被多个线程应用的函数中如何得到this指针,能不能得到呢?
- 哪里有非常好用又简单使用的写帮助的工具?哪能下载,给小弟推荐推荐,谢谢了!
在MSDN中有这个函数SHGetDesktopFolder,估计是API,它如何使用?
谢。