WinForm中创建开始菜单快捷方式

By | 2017年3月13日

最近在使用C#制作一个安装包程序,最后需要在开始菜单中创建对应的快捷方式,实现方式如下:
1、项目中引用COM组件:Windows Script Host Object Model,这个库是专门用来创建快捷方式的: 

 、

确定后引用下面会出现Interop.IWshRuntimeLibrary库名称。 

2、创建快捷的方式的方法:

using IWshRuntimeLibrary;
using System;

namespace SetupDemo
{
    public class ShortHelper
    {
        /// <summary>
        /// 创建快捷方式
        /// </summary>
        /// <param name="targetPath">目标文件的路径</param>
        /// <param name="linkPath">快捷方式的路径</param>
        /// <param name="desc">描述</param>
        /// <param name="icoPath">图标文件路径,如果没有,使用目标文件自身的</param>
        public static void CreateShort(string targetPath, string linkPath,string desc="",string icoPath="")
        {
            WshShell shell = new WshShell();
         
            //创建开始菜单快捷方式
            IWshShortcut shortcut1 = (IWshShortcut)shell.CreateShortcut(linkPath);
            shortcut1.TargetPath = targetPath;
            shortcut1.WorkingDirectory = Environment.CurrentDirectory;
            shortcut1.WindowStyle = 1;
            if(desc != "")
                shortcut1.Description = desc;
            if (icoPath != "")
                shortcut1.IconLocation = icoPath;
            shortcut1.Save();
        }
    }
}