如我想获取网上邻居,控制面板这两个的系统文件夹的路径,如何获取呢?谢谢
TCHAR filePath[MAX_PATH];
::SHGetSpecialFolderPath(NULL, filePath, CSIDL_NETWORK, false);
上面这函数怎么不能获取网上邻居的路径呢???
TCHAR filePath[MAX_PATH];
::SHGetSpecialFolderPath(NULL, filePath, CSIDL_NETWORK, false);
上面这函数怎么不能获取网上邻居的路径呢???
TCHAR filePath[MAX_PATH];
LPITEMIDLIST ppidl; ::SHGetSpecialFolderLocation (this->GetSafeHwnd(), CSIDL_NETWORK,&ppidl); ::SHGetPathFromIDList(ppidl,filePath);试试这个
有些是虚的文件夹,不是文件系统
的一部分,所以用SHGetPathFromIDList是取不出路径的,但是在此也列出了。打'*'
号的为不是真正的文件系统,应该用作它用。
CSIDL_BITBUCKET * 回收站
CSIDL_CONTROLS * 控制面板
CSIDL_DESKTOP * 桌面
CSIDL_DESKTOPDIRECTORY 桌面目录 //如C:\WINDOWS\Desktop
CSIDL_DRIVES * 我的电脑
CSIDL_FONTS 字体 //如C:\WINDOWS\FONTS
CSIDL_NETHOOD 网上邻居目录 //如C:\WINDOWS\NetHood
CSIDL_NETWORK * 网上邻居
CSIDL_PERSONAL 我的文档 //如C:\My Documents
CSIDL_PRINTERS * 打印机
CSIDL_PROGRAMS 程序组 //如C:\WINDOWS\Start Menu\Programs
CSIDL_RECENT 最近文档 //如C:\WINDOWS\Recent
CSIDL_SENDTO 发送到 //如C:\WINDOWS\SentTo
CSIDL_STARTMENU 开始菜单 //如C:\WINDOWS\Start Menu
CSIDL_STARTUP 启动 //如C:\WINDOWS\启动
CSIDL_TEMPLATES 模版 //如C:\WINDOWS\ShellNew
=================
所以取不到
::{21EC2020-3AEA-1069-A2DD-08002B30309D} (打开控制面板)