首页 > 解决方案 > Qt如何获取快捷方式的目标信息?

问题描述

怎么获得 如何使用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

标签: qt

解决方案


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

如果您尝试打开该快捷方式,则会打开目标。

谷歌搜索“windows 分析 .lnk 文件”可以获得一些很好的提示,尤其是这篇 howtogeek.com 文章列出了有趣的细节:

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

如果你真的想编辑它,你需要一个特殊的工具。[...]

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

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

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

Qt 将这些快捷方式视为符号链接,请参阅以下文档QFileInfo::isSymLink()

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


所以回答你原来的问题
QFileInfo没有选项来显示 .lnk 文件的“内容”。
此外,通过始终分析 .lnk 文件来QFileInfo分析快捷方式指向的目标。


推荐阅读