如何在C#中创建应用程序快捷方式(.lnk文件)或使用.NET框架?

结果将是一场灾难.将lnk文件复制到指定的应用程序或URL.

推荐答案

这并不像我想的那么简单,但在ShellLink.cs上有一个很棒的课堂点名

此代码使用互操作,但不依赖于WSH.

使用此类,创建快捷方式的代码是:

private static void configStep_addShortcutToStartupGroup()
{
    using (ShellLink shortcut = new ShellLink())
    {
        shortcut.Target = Application.ExecutablePath;
        shortcut.WorkingDirectory = Path.GetDirectoryName(Application.ExecutablePath);
        shortcut.Description = "My Shorcut Name Here";
        shortcut.DisplayMode = ShellLink.LinkDisplayMode.edmNormal;
        shortcut.Save(STARTUP_SHORTCUT_FILEPATH);
    }
}

.net相关问答推荐

条带连接支付—引发异常

如何在选项卡中 Select Winforms NumericUpDown 中的所有文本?

如何中止任务,如中止线程(Thread.Abort 方法)?

Int32.ToString() 是特定于文化的吗?

.NET 的 `Array.Sort()` 方法使用的排序算法是稳定的算法吗?

我可以从 .NET/C# 获取其他进程的命令行参数吗?

使用 C# 清除文本文件的内容

使用多个 MemoryCache 实例

[DllImport("QCall")] 是什么?

如何使用 NUnit(或可能使用另一个框架)测试异步方法?

如何退出所有正在运行的线程?

自定义属性的构造函数何时运行?

让 String.Replace 只打整个单词的方法

.NET 高级别的 .NET 4.0 和 .NET 4.5 的区别

接口属性的 XML 序列化

如何在安装后立即启动 .NET Windows 服务?

为什么要使用 C# 类 System.Random 而不是 System.Security.Cryptography.RandomNumberGenerator?

如何获取当前的 ProcessID?

如何在 ASP.NET MVC 中重定向到动态登录 URL

什么时候使用 Tuple 和 KeyValuePair 比较好?