Qt как получить целевую информацию ярлыка? - PullRequest
0 голосов
/ 28 апреля 2019

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 голосов
/ 30 апреля 2019

Вы просматриваете файл ярлыка .lnk.

Если вы пытаетесь открыть этот ярлык, вместо этого вы открываете цель.

Поиск в файле «анализ Windows .lnk file» дает вамнекоторые полезные советы, особенно в этой статье howtogeek.com перечислены интересные детали:

Весь смысл файла .lnk в том, что Windows рассматривает его как ссылку на другой файл,так что редактировать его сложно!Возможно, это помогло бы, если бы вы описали, почему вы хотите отредактировать его.Вы можете изменить настройки файла .lnk, щелкнув правой кнопкой мыши и выбрав Свойства.

Если вы действительно хотите отредактировать его, вам нужен специальный инструмент.[...]

Чтобы быстро взглянуть на содержимое такого файла, трудно открыть его в (шестнадцатеричном) редакторе.В статье описывается простой метод:

В качестве обходного пути откройте командную строку и переименуйте файл .lnk с другим несуществующим расширением, например .lne:

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


Qt рассматривает эти ярлыки как символические ссылки, см. документы для QFileInfo::isSymLink():

Кроме того, true будетбыть возвращены для ярлыков (* .lnk файлы) в Windows.Если открыть их, откроется сам файл .lnk.


Поэтому, отвечая на ваш оригинальный вопрос :
QFileInfo не имеет возможностипоказать содержимое файла .lnk.
Кроме того, анализ файла .lnk с помощью QFileInfo всегда анализирует цель, на которую указывает ярлык.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...