.net创建桌面快捷方式

using System;
using IWshRuntimeLibrary;
using System.IO;


namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("create client quick link start");
            string shortcutName = "客户端";//快捷方式名称
            string targetPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + "../run_client.bat";//目标可执行文件
            string iconLocation = AppDomain.CurrentDomain.BaseDirectory.ToString() + "icon.ico";//ico图标路径
            ShortCutHelper.CreateShortcutOnDesktop(shortcutName, targetPath, shortcutName, iconLocation);
            Console.WriteLine("create client quick link end");

            Console.WriteLine("create server quick link start");
            string shortcutName2 = "服务端";//快捷方式名称
            string targetPath2 = AppDomain.CurrentDomain.BaseDirectory.ToString() + "../run_server.bat";//目标可执行文件
            string iconLocation2 = AppDomain.CurrentDomain.BaseDirectory.ToString() + "icon.ico";//ico图标路径
            ShortCutHelper.CreateShortcutOnDesktop(shortcutName2, targetPath2, shortcutName2, iconLocation2);
            Console.WriteLine("create server quick link end");
        }

        public class ShortCutHelper
        {
            //需要引入IWshRuntimeLibrary,搜索Windows Script Host Object Model
            //需要引用Microsoft.Csharp

            /// <summary>
            /// 创建快捷方式
            /// </summary>
            /// <param name="directory">快捷方式所处的文件夹</param>
            /// <param name="shortcutName">快捷方式名称</param>
            /// <param name="targetPath">目标路径</param>
            /// <param name="description">描述</param>
            /// <param name="iconLocation">图标路径,格式为"可执行文件或DLL路径, 图标编号",
            /// 例如System.Environment.SystemDirectory + "\\" + "shell32.dll, 165"</param>
            /// <remarks></remarks>
            public static void CreateShortcut(string directory, string shortcutName, string targetPath,
            string description = null, string iconLocation = null)
            {
                try
                {
                    if (!System.IO.Directory.Exists(directory))
                    {
                        System.IO.Directory.CreateDirectory(directory);
                    }

                    string shortcutPath = Path.Combine(directory, string.Format("{0}.lnk", shortcutName));
                    WshShell shell = new WshShell();
                    IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutPath);//创建快捷方式对象
                    shortcut.TargetPath = targetPath;//指定目标路径
                    shortcut.WorkingDirectory = Path.GetDirectoryName(targetPath);//设置起始位置
                    shortcut.WindowStyle = 1;//设置运行方式,默认为常规窗口
                    shortcut.Description = description;//设置备注
                    shortcut.IconLocation = string.IsNullOrWhiteSpace(iconLocation) ? targetPath : iconLocation;//设置图标路径
                    shortcut.Save();//保存快捷方式
                }
                catch { }
            }

            /// <summary>
            /// 创建桌面快捷方式
            /// </summary>
            /// <param name="shortcutName">快捷方式名称</param>
            /// <param name="targetPath">目标路径</param>
            /// <param name="description">描述</param>
            /// <param name="iconLocation">图标路径,格式为"可执行文件或DLL路径, 图标编号"</param>
            /// <remarks></remarks>
            public static void CreateShortcutOnDesktop(string shortcutName, string targetPath, string description = null, string iconLocation = null)
            {
                string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);//获取桌面文件夹路径
                CreateShortcut(desktop, shortcutName, targetPath, description, iconLocation);
            }
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值