ShellExecute 打开一个特殊文件夹(例如:"LibrariesDocuments" ),而不知道特殊文件夹名称

ShellExecute to open a special folder (ex: "LibrariesDocuments") without knowing the special folder name

本文关键字:文件夹 Documents 不知道 Libraries 一个 ShellExecute 例如      更新时间:2023-10-16

我正在制作一个应用程序来备份打开的文件夹。问题是,如果文件夹中有一些特殊的文件夹(例如:"桌面"、"计算机"、"库\文档"…),它们将不会打开。

我知道这些对象有常量,但我不知道会打开哪些文件夹,所以用所有SpecialNames=>SpecialConstant制作一个字典对我来说不是一个好的解决方案。

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

p.S.同时尝试了ShellExecute("open"、"Path")和ShellExecuto("open"、"explorer.exe"、"Path")如果你在资源管理器中粘贴名称,它们可以工作,但从C++打开它们不起的作用

感谢

库作为名为<libraryname>.library-ms(例如Pictures.library-ms)的XML文件存储在用户%appdata%RoamingMicrosoftWindowsLibraries目录中。用ShellExecute打开其中一个文件将打开资源管理器窗口并显示库。