/ / Como editar o caminho em um arquivo de link do Windows - c #

Como editar o caminho em um arquivo de link do Windows - c #

Eu quero editar o caminho em um arquivo de link que leeds para um arquivo ou pasta que muda o caminho com bastante frequência. Eu encontrei algumas coisas em C ou outras línguas, mas nunca para c #.

Test.lnk -> C:TestFolder 1.2.3
Eu quero mudar esse link usando c # para
Test.lnk -> C:TestFolder 1.2.4

Alguém sabe como fazer isso?

Respostas:

1 para resposta № 1

Eu não acho que é possível editar o caminho em um arquivo de link. Em vez disso, você pode excluir o atalho antigo e criar um novo usando o Modelo de Objeto de Host de Script do Windows COM:

using System;
using IWshRuntimeLibrary;

namespace ShortCutTest
{
class Program
{
static void Main(string[] args)
{
var wsh = new WshShell();
var shortcut = (IWshShortcut)wsh.CreateShortcut(@"C:cmd.lnk");
shortcut.Description = "Shortcut for cmd.exe";
shortcut.TargetPath = Environment.GetFolderPath(Environment.SpecialFolder.System) +  @"cmd.exe";
shortcut.Save();
}
}
}

Tanto quanto sei, não há nenhuma maneira nativa no .NET para fazer isso.