Как передать путь к ярлыку (*.lnk) в приложение? Всем привет.
Есть приложение на C# и часть его функционала вызывается через кнопки контекстного меню Windows.
Т.е. работаем в проводнике или файловом менеджере, клацаем правой кнопкой мыши на файле, выбираем действие и получаем результат. Для этого я добавил в реестр раздел с подразделом "command", содержащий подобное значение:"C:\path_to_app\App.exe" "%1"
Таким образом запускается приложение и в качестве 1-го аргумента ему передается путь к выбранному файлу (с помощью "%1").
И всё бы хорошо, но если воспользоваться такой кнопкой на *.lnk файле (ярлыке), то в приложение передается не его путь, а путь к файлу, на который он указывает (shortcut's target). А мне нужен именно путь к ярлыку, выделив который я нажал на кнопку.
Есть ли какие-то варианты с редактированием подраздела "command" или чем-то другим, чтобы отправить приложению путь к ярлыку, а не к файлу, на который он указывает?

21 Авг 2019 в 06:24
257 +1
0
Ответы
1

Для передачи пути к ярлыку (*.lnk) в приложение вместо пути к файлу, на который он указывает, можно использовать специальные методы для работы с ярлыками в C#. Например, можно использовать класс Shell из пространства имен Microsoft.VisualBasic.FileIO.

Пример кода, который позволит получить путь к ярлыку (*.lnk):

using Microsoft.VisualBasic.FileIO;
string shortcutPath = @"C:\path_to_shortcut\Shortcut.lnk";
string targetPath = FileSystem.GetFileInfo(shortcutPath).TargetPath;

В данном примере переменной targetPath будет присвоен путь к файлу, на который указывает ярлык Shortcut.lnk. Теперь вы можете передать этот путь в ваше приложение вместо пути к ярлыку.

Надеюсь, это поможет вам решить вашу проблему. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

20 Апр в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 622 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир