【发布时间】:2012-02-21 17:41:51
【问题描述】:
我正在制作一个应用程序来备份打开的文件夹。 问题是,如果该文件夹中有一些特殊文件夹(例如:“Desktop”、“Computer”、“Libraries\Documents”……),它们将无法打开。
我知道这些对象有常量,但我不知道会打开哪些文件夹,所以制作一个包含所有 SpecialNames 的字典 => SpecialConstant 对我来说不是一个好的解决方案。
所以问题是: 是否有任何 WinApi 函数可以从特殊文件夹的短名称中检索完整路径?
附:尝试了 ShellExecute("open", "Path") 和 ShellExecute("open", "explorer.exe", "Path") 如果您将名称粘贴到资源管理器中,它们会起作用,但从 C++ 中打开它们不起作用
谢谢
【问题讨论】:
-
这些是 虚拟文件夹,由 shell 命名空间扩展提供。备份虚拟文件夹没有意义,专注于磁盘上的真实文件系统目录。
-
我需要反转它们,以便在用户需要时打开它们。
-
那么我相信你将不得不构建一个虚拟/实际路径表。
-
是的,这是更难的方式,因为不同版本的windows等。我会等几天也许有人会建议一些东西,然后我会和桌子一起去。 :)
标签: c++ winapi directory shellexecute