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