使用QFileInfo的symLinkTarget接口找快捷方式的原指向。
接口
exists
判断文件是否存在;isSymLink
判断是否为快捷方式,注意:在Windows系统下路径后缀以*.lnk
结尾都会被判断为快捷方式(无论该文件是否存在);symLinkTarget
返回快捷方式的原指向
示例
- 先判断文件是否存在,再判断是否是快捷方式。
1
2
3QFileInfo info("C:/Document/text.lnk");
if (info.exists() && info.isSymLink())
qDebug()<<"Source Path: "<<info.symLinkTarget();
不正确的示例
- 当
C:/Document/text.lnk
快捷方式不存在时,由于没有判断文件存在,最终会打印一个空的字符串。1
2
3QFileInfo info("C:/Document/text.lnk");
if (info.isSymLink())
qDebug()<<"Source Path: "<<info.symLinkTarget();