Есть ли способ в C # программно определить, была ли найдена цель ссылки? - PullRequest
0 голосов
/ 27 сентября 2018

Я хотел бы программно определить, была ли найдена цель ссылки из 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), опция не удалять ярлык и ссылка. Путь по-прежнему относится к файлу, местоположение которого не было найдено.В этой ситуации объект ссылки, по-видимому, не имеет атрибутов, указывающих, что цель ссылки не была найдена.Кто-нибудь знает способ сделать это?

...