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.
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.