/ / Cómo editar la ruta en un archivo de enlace de Windows - c #

Cómo editar la ruta en un archivo de enlace de Windows - c #

Quiero editar la ruta en un archivo de enlace que se conecta a un archivo o carpeta que cambia la ruta de acceso con bastante frecuencia. Encontré algunas cosas en C u otros idiomas, pero nunca para C #.

Test.lnk -> C:TestFolder 1.2.3
Quiero cambiar ese enlace usando C # para
Test.lnk -> C:TestFolder 1.2.4

¿Alguien sabe cómo hacerlo?

Respuestas

1 para la respuesta № 1

No creo que sea posible editar la ruta en un archivo de enlace. En su lugar, puede eliminar el acceso directo anterior y crear uno nuevo utilizando el modelo de objetos de host COM Windows Script:

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();
}
}
}

Por lo que sé, no hay una forma nativa en .NET para hacer eso.