第一步 引用COM组件
右键“引用”,“添加引用”,选择“COM组件”,找到“Windows Script Host Object Model”,然后确定。
第二步 编写创建快捷方式的代码
// 声明操作对象 IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell(); // 创建一个快捷方式 IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut("c:\\yeaicc.lnk"); // 关联的程序 shortcut.TargetPath = "notepad.exe"; // 参数 shortcut.Arguments = "c:\\yeaicc.txt"; // 快捷方式描述,鼠标放到快捷方式上会显示出来哦 shortcut.Description = "我的快捷方式--yeaicc"; // 全局热键 shortcut.Hotkey = "CTRL+SHIFT+N"; // 设置快捷方式的图标,这里是取程序图标,如果希望指定一个ico文件,那么请写路径。 shortcut.IconLocation = "notepad.exe, 0"; // 保存,创建就成功了。 shortcut.Save();
第三步 读取快捷方式属性
/// <summary>
/// 获取快捷方式启动路径
/// </summary>
/// <param name="lnkPath">快捷方式路径</param>
/// <returns>启动路径</returns>
private string GetFilePath(string lnkPath)
{
IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(lnkPath);
//这里可以获取各种属性
return shortcut.TargetPath;
}
//调用以前写的读取文件的图标,这样获取的图标就是获取启动路径的图标
FileIcon.GetFileIcon(GetFilePath(fileName)