/ / Jak edytować ścieżkę w pliku linku systemu Windows - c #

Jak edytować ścieżkę w pliku łącza systemu Windows - c #

Chcę edytować ścieżkę w pliku łącza, który leeds do pliku lub folderu, który zmienia jego ścieżkę dość często.Znalazłem pewne rzeczy w C lub innych językach, ale nigdy dla C #.

Test.lnk -> C:TestFolder 1.2.3
Chcę zmienić ten link za pomocą C # na
Test.lnk -> C:TestFolder 1.2.4

Czy ktoś wie, jak to zrobić?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie sądzę, że możliwa jest edycja ścieżki w pliku linku. Zamiast tego możesz usunąć stary skrót i utworzyć nowy przy użyciu modelu obiektu Host skryptów systemu Windows:

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

O ile wiem, nie ma natywnego sposobu w .NET, aby to zrobić.