У меня есть приложение A, которое создает ярлык на рабочем столе, связанный с другим приложением B. Приложение B в начале должно проверить, нужно ли обновлять некоторые файлы и загружать их в приложение B , но если я открою его из ярлыка на рабочем столе, приложение B загрузит все обновленные файлы на рабочем столе. Я искал ответ, если есть способ сообщить созданную ссылку, чтобы не изменять контекст выполнения.Контекст выполнения .lnk, созданного на рабочем столе
код, который создают .lnk на рабочем столе заключается в следующем:
Type t = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8")); //Windows Script Host Shell Object
dynamic shell = Activator.CreateInstance(t);
try
{
var lnk = shell.CreateShortcut(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)+"/"+string.Format("{0}.lnk", Name));
try
{
lnk.TargetPath = Path;
lnk.IconLocation = Path+", 0";
lnk.Save();
}
finally
{
Marshal.FinalReleaseComObject(lnk);
}
}
finally
{
Marshal.FinalReleaseComObject(shell);
}
Спасибо! это работает нормально. Я пытался лучше раскрыть поведение ярлыка, но я думаю, что это лучший способ решить эту проблему. Ура! – DeadVi5