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