Есть ли способ в C# программно определить, была ли найдена цель ссылки?

Я хотел бы программно определить, была ли цель ссылки найдена в C#. Используя код link.Resolve(SLR_FLAGS.SLR_UPDATE) появится диалоговое окно с сообщением о том, что цель ссылки не может быть найдена, и с возможностью удаления ярлыка.

Код для генерации ссылки:

Type t = Type.GetTypeFromProgID("Shell.Application");
dynamic shell = Activator.CreateInstance(t);
var folder = shell.NameSpace(pathOnly);
var folderItem = folder.ParseName(filenameOnly);

string sAbsPath = "";
if (folderItem != null)
{
   (Shell32.ShellLinkObject)folderItem.GetLink;
    var link = folderItem.GetLink;
 }

Если я добавлю опцию подавления пользовательского интерфейса с помощью link.Resolve(SLR_FLAGS.SLR_UPDATE|SLR_FLAGS_NO_UI) опция не удалять ярлык используется и ссылка. Путь по-прежнему относится к файлу, местоположение которого не было найдено. В этой ситуации объект ссылки, по-видимому, не имеет атрибутов, указывающих, что цель ссылки не была найдена. Кто-нибудь знает способ сделать это?

0 ответов

Другие вопросы по тегам