如何使用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
答案 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文件总是分析快捷方式指向的目标。