Я искал простой способ создать ярлык для файла на С#, но я нашел только внешние DLL, которые это делают. Это на самом деле довольно удивительно, там нет встроенного способа сделать это.
В любом случае, я знаю, что файлы lnk - это просто текстовые файлы с определенной командой и заданным путем. Я подумал, что, возможно, я мог бы создать текстовый файл (в коде), чтобы установить текст в нужную команду и изменить его расширение на .lnk Сначала я попытался сделать это вручную, но не смог этого сделать.
Есть ли способ сделать что-то подобное (или, может быть, еще один простой способ) создать ярлык для определенного пути в С#?
Просто, чтобы быть ясным, по Shortcut я имею в виду файл .lnk, который ведет к файлу Edit: И по файлу я имею в виду любой файл, который я хочу, а не только ярлык для моего собственного приложения
Я отредактирую, если это не сработает для каждого сценария.
Добавьте эти ссылки:
- Microsoft Shell Controls and Automation
- Windows Script Модель объекта хоста
Добавьте это пространство имен:
using Shell32;
using IWshRuntimeLibrary;
Далее, похоже, работает:
var wsh = new IWshShell_Class();
IWshRuntimeLibrary.IWshShortcut shortcut = wsh.CreateShortcut(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\shorcut2.lnk") as IWshRuntimeLibrary.IWshShortcut;
shortcut.TargetPath = @"C:\Users\Zimin\Desktop\test folder";
shortcut.Save();
Надеюсь, это поможет и другим, спасибо за внимание.
Кроме того, если есть способ создать файл, напишите правильные команды, а затем измените его на файл lnk, сообщите мне.