Qt5,到文件夹的符号链接
Posted
技术标签:
【中文标题】Qt5,到文件夹的符号链接【英文标题】:Qt5, symbolic link to a folder 【发布时间】:2015-05-16 01:19:42 【问题描述】:this question 的一个愚蠢的问题,(可能)有一个过时的答案,因为我无法让它在 Qt5 中工作。
我希望创建一个指向文件夹的符号链接以获得类似于QFile::link()
的结果。鉴于QDir
没有等效的功能,QProcess
(或外部库)似乎是我的出路。在 Qt5 中如何管理?
非常感谢。
【问题讨论】:
这里的“符号链接”到底是什么意思? Windows 支持类 Unix 的硬链接和符号链接,但实际上这些功能很少使用。我不相信 Qt 支持,但你总是可以直接使用 Win32 API。 我最终使用了 Win32 API。起初我是这么想的,但一开始我对 msdn 的理解有点困难。 【参考方案1】: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
【讨论】:
【参考方案2】:我发现它不能在 Qt 中完成,所以我最终改用 Win32 API。特别是CreateSymbolicLink()
function。
【讨论】:
以上是关于Qt5,到文件夹的符号链接的主要内容,如果未能解决你的问题,请参考以下文章