ShellExecute在不知道特殊文件夹名称的情况下打开一个特殊文件夹(例如:“Libraries \ Documents”)

时间:2012-01-29 17:41:09

标签: c++ winapi directory shellexecute

我正在创建一个应用程序来备份打开的文件夹。 问题是,如果在该文件夹中有一些特殊文件夹(例如:“桌面”,“计算机”,“库\文件”,......),它们将无法打开。

我知道这些对象有常量,但我不知道将打开哪些文件夹,所以制作一个包含所有SpecialNames =>的字典。 SpecialConstant不适合我。

所以问题是: 是否有任何WinApi函数从特殊文件夹的短名称中检索完整路径?

P.S。尝试了ShellExecute(“open”,“Path”)和ShellExecute(“open”,“explorer.exe”,“Path”) 如果您将名称粘贴到它们可用的资源管理器中,但是从C ++打开它们不起作用

由于

1 个答案:

答案 0 :(得分:1)

库作为XML文件存储在用户%appdata%\Roaming\Microsoft\Windows\Libraries目录中,名称为<libraryname>.library-ms(例如Pictures.library-ms。)使用ShellExecute打开其中一个文件将打开一个资源管理器窗口并显示图书馆。