Qt如何获取快捷方式的目标信息?

时间:2019-04-28 11:11:48

标签: qt

how_to_get 如何使用Qt获取快捷方式的目标内容? 找不到使用QString QFileInfo::symLinkTarget() const。 我如何找到有关C:\Windows\System32\cmd.exe /A /Q /K D:\Qt\Qt5.12.1\5.12.1\msvc2017_64\bin\qtenv2.bat

的信息

1 个答案:

答案 0 :(得分:0)

您正在查看一个.lnk快捷方式文件。

如果您尝试打开该快捷方式,请改为打开目标。

谷歌搜索“ Windows分析.lnk文件”会为您提供一些很好的提示,尤其是this howtogeek.com article列出了有趣的细节:

  

.lnk文件的全部要点是Windows会将其视为到另一个文件的链接,因此应该很难编辑!如果您描述了为什么要编辑它,也许会有所帮助。右键单击并选择“属性”,可以更改.lnk文件的设置。

     

如果您确实要编辑它,则需要一个特殊的工具。 [...]

要快速查看此类文件的内容,困难的部分是在(十六进制)编辑器中将其打开。本文介绍了一种简单的方法:

  

作为一种解决方法,打开命令提示符,并使用其他不存在的扩展名(例如.lne)重命名.lnk文件:

cd /d “X:\Folder\containing\the\shortcut”
ren “some shortcut.lnk” “some shortcut.lne”


Qt将这些快捷方式视为符号链接,请参见the docs for QFileInfo::isSymLink()

  

此外,Windows上的快捷方式(* .lnk文件)将返回true。打开这些文件将打开.lnk文件本身。


所以回答您的原始问题
QFileInfo无法选择显示.lnk文件的“内容”。
此外,通过QFileInfo分析.lnk文件总是分析快捷方式指向的目标。