Qt5,符号link到一个文件夹

Qt5, symbolic link to a folder

this question 的一个愚蠢的问题,它(可能)有一个过时的答案,因为我无法让它在 Qt5 中工作。

我希望为文件夹创建一个符号 link,以获得类似于 QFile::link() 的结果。考虑到 QDir 没有等效的功能,QProcess(或外部库)似乎是我的出路。这将如何在 Qt5 中进行管理?

非常感谢。

Windows 上有快捷方式和硬链接。我认为 mklink 指的是硬链接。

它适用于快捷方式:

#include <QCoreApplication>

#include <QFile>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile dir("D:\source-dir");
    bool ok = dir.link("D:\target-dir.lnk");

    if (ok)
    {
        qDebug() << "yeah!";
        return 0;
    }
    else {
        qDebug() << "Did not work :(";
        return 1;
    }
}

在这种情况下,您会在资源管理器中找到一个快捷方式,但您无法通过键入 D:\target-dir\Bitmap.bmp

来访问文件 D:\source-dir\Bitmap.bmp

我发现它不能在 Qt 中完成,所以我最终改用 Win32 API。具体来说 CreateSymbolicLink() function.