如何使用Qt / C++将GUI转换为Windows上的路径

How to convert GUI to path on Windows with Qt/C++?

本文关键字:Windows 路径 转换 GUI Qt 何使用 C++      更新时间:2023-10-16

单击开始菜单中的"我的电脑"将返回 GUID 链接,而不是直接链接。例如:

::{20B04FE1-3AEA-1069-A2D8-08012B30309D}

如何将其转换为正常路径,以便我可以在QDir的帮助下获取目录和文件的列表?

更新

我不是在尝试获取驱动器列表。使用Qt很容易完成。我只想知道用户在开始菜单中单击了"我的电脑"。(我的应用程序可以替换 Windows 资源管理器)。

您正在查看 Shell 命名空间中的项目,而不是文件系统中的项目。

外壳命名空间简介:

http://msdn.microsoft.com/en-us/library/windows/desktop/cc144090(v=vs.85).aspx

shell显示许多不作为文件存在的东西,我的电脑就是其中之一。桌面是另一个 - shell 桌面是所有用户桌面文件夹、个人桌面文件夹和其他一些纯虚拟项目的合并视图,如回收站。

要了解有关该项目的更多信息,您可以使用SHParseDisplayName将名称转换为ITEMIDLIST

如果您打算提供资源管理器的替代品,祝您好运!