我想看清单的应用程序的应用程序上的文件夹Mac使用夸脱或碳。我不知道该如何做到这一点。所以,任何指针,将不胜感激。

感谢 Rahul

有帮助吗?

解决方案

最简单的办法是让应用程序目录,然后使用Qt的助手来遍历它 - 即一个QDir,并找到束作为目录名称结束“的.app”。下面是一些代码从一个文件夹引用类型得到的QDir - 有很多类似的常量,让桌面/垃圾/库文件夹。 “域”的值是非常重要的 - 对于许多文件夹(如图书馆)有每个用户的版本,以及全球版和网络版。的FileVault可以进一步复杂的事情。

在FSFindFolder文件应该让事情更清晰,并有例子都在网上。

static QDir applicationsDir()
{
    short domain = kOnAppropriateDisk;
    FSRef ref;
    OSErr err = FSFindFolder(domain, kApplicationsFolderType, false, &ref);
    if (err) {
        return QDir();
    }

    return QDir(getFullPath(ref));
}

/*
    Constructs a full unicode path from a FSRef.
*/
static QString getFullPath(const FSRef &ref)
{
    QByteArray ba(2048, 0);
    if (FSRefMakePath(&ref, reinterpret_cast<UInt8 *>(ba.data()), ba.size()) == noErr)
        return QString::fromUtf8(ba).normalized(QString::NormalizationForm_C);
    return QString();
}

其他提示

你可以列出一个目录中的使用 该opendir(3)和readdir(3)的职能 或FSOpenIterator和FSGetCatalogInfoBulk功能 核心服务的文件管理.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top