qt - 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
解决方案
您正在查看一个.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
分析快捷方式指向的目标。
推荐阅读
- flutter - Flutter 嵌套插件
- swift - 如何使用 MacOS 应用程序停靠菜单重新打开已关闭的应用程序(使用左上角的红色按钮)?
- python - Pyspark - 使用数据框中其他两列的 RMSE 创建新列
- node.js - 节点 JS:Sendgrid Mail 403 'Forbidden' 错误
- json - 如何在颤动中将 Json 解码为 DateTime 格式?
- django - 添加额外插件时ckeditor Youtube plugin.js返回404错误不显示?
- css - CSS left 属性的变化没有动画
- excel - 将存储在 excel 文件中的数据和查询移动到外部源(本地)以供其他 excel 文件使用
- arrays - 按周对数组列进行分组
- r - 如何将一组值添加到现有数据框中?