使用 Qt 从 Mac 上的应用程序文件夹中读取应用程序列表
我想使用 Qt 或 Carbon 从 Mac 上的应用程序文件夹中读取应用程序列表。 我不知道该怎么做。因此,任何指示将不胜感激。
谢谢 拉胡尔
I want to read list of applications from the Applications folder on Mac using Qt or Carbon.
I am not sure how to do this. So any pointers will be appreciated.
Thanks
Rahul
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单的解决方案是获取应用程序目录,然后使用 Qt 帮助程序对其进行迭代 - 即 QDir,并查找名称以“.app”结尾的目录。下面是一些从文件夹引用类型获取 QDir 的代码 - 有许多类似的常量,用于获取桌面/垃圾/库文件夹。 “域”值很重要 - 对于许多文件夹(例如,库),有每个用户版本以及全局和网络版本。 FileVault 会使事情变得更加复杂。
FFSfindFolder 上的文档应该会让事情变得更清楚,并且网络上到处都有示例。
The easiest solution is to get the Applications dir and then use the Qt helpers to iterate over it - i.e QDir, and finding bundles as directories whose names end in '.app'. Here's some code to get a QDir from a folder reference type - there are many similar constants, to get the desktop/trash/library folders. The 'domain' value is important - for many folders (eg, Library) there's a per-user version as well as global and network versions. FileVault can complicate things further.
The documentation on FSFindFolder should make things clearer, and there's examples all over the web.
您可以使用 opendir(3) 和 readdir(3) 函数 或 核心服务文件管理器。
You can list a directory using either the opendir(3) and readdir(3) functions or the FSOpenIterator and FSGetCatalogInfoBulk functions from the Core Services File Manager.