C# 如何编辑Windows链接文件中的路径

C# 如何编辑Windows链接文件中的路径,c#,C#,我想编辑链接文件中的路径,该链接文件指向经常更改其路径的文件或文件夹。我发现有些东西是用C或其他语言写的,但从来没有用过C Test.lnk->C:\TestFolder 1.2.3\ 我想用C#将该链接更改为 Test.lnk->C:\TestFolder 1.2.4\ 有人知道怎么做吗?我认为不可能在链接文件中编辑路径。相反,您可以删除旧的快捷方式,并使用COM Windows脚本主机对象模型创建新的快捷方式: using System; using IWshRuntimeLibrary;

我想编辑链接文件中的路径,该链接文件指向经常更改其路径的文件或文件夹。我发现有些东西是用C或其他语言写的,但从来没有用过C

Test.lnk->
C:\TestFolder 1.2.3\

我想用C#将该链接更改为
Test.lnk->
C:\TestFolder 1.2.4\


有人知道怎么做吗?

我认为不可能在链接文件中编辑路径。相反,您可以删除旧的快捷方式,并使用COM 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();
        }
    }
}

据我所知,在.NET中没有原生方法可以做到这一点。

请查看以下问题的最上面的答案:。没有原生方法吗?此外,我需要的东西也对WinXP的工作。他们只尝试了Win Server 2008或更高版本。