Windows Explorer就像文件夹树浏览器一样

时间:2009-04-07 14:28:09

标签: c++ windows treeview wxwidgets directory

我正在尝试实现一个独立于平台的文件/目录树浏览器。基本上,我试图复制Windows资源管理器的树控件来浏览计算机。但是,我无法弄清楚如何找到“桌面”或“我的电脑”文件夹字符串(它改变了每个pc和os类型,版本和语言)。如果我能找到一种获取最顶层文件夹字符串的方法,那么我可以遍历并填充树。某个地方是否有注册表字符串?

最初,我只针对MS Windows操作系统(XP,Vista等),但后来我也计划支持Linux和Mac。我为我的GUI使用wxWidgets,但我对这个特定问题的所有建议持开放态度。哦,我在VS2008中使用C ++。

2 个答案:

答案 0 :(得分:2)

忽略可移植性,您需要的是“PIDL”树。 PIDL是文件路径的概括。您可以使用SHGetFolderLocation获取特殊文件夹的PIDL。桌面为CSIDL_DESKTOP CSIDL_DESKTOPDIRECTORY),“我的电脑”为CSIDL_DRIVES

要将PIDL转换为名称,请查看SHGetNameFromIDList

答案 1 :(得分:1)

查看SHGetFolderPath功能。