整理了两种创建快捷方式的方法。一种是创建到桌面。另一种是创建到指定的位置。
大家可以参考一下 ^ _ ^ ~~
1.先引用命名空间 IWshRuntimeLibrary
代码:
using IWshRuntimeLibrary;
2.添加想使用的方法到类中(复制粘贴)
方法1.创建指定程序的快捷方式到桌面
代码:
/// <summary>
/// 创建桌面快捷方式
/// </summary>
/// <param name="deskTop">桌面的路径</param>
/// <param name="FileName">文件的名称</param>
/// <param name="exePath">EXE的路径</param>
/// <returns>成功或失败</returns>
public bool CreateDesktopShortcut(string deskTop, string FileName, string exePath)
{
try
{
deskTop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\";
if (System.IO.File.Exists(deskTop + FileName + ".lnk")) //判断原始快捷方式是存在
{
System.IO.File.Delete(deskTop + FileName + ".lnk");//删除原来的桌面快捷键方式
}
WshShell shell = new WshShell();
//快捷键方式创建的位置、名称
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(deskTop + FileName + ".lnk");
//目标文件
shortcut.TargetPath = exePath;
//该属性指定应用程序的工作目录,当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。
//shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WorkingDirectory = exePath;
//目标应用程序的窗口状态分为普通、最大化、最小化【1,3,7】
shortcut.WindowStyle = 1;
//快捷方式的描述信息
shortcut.Description = FileName;
//shortcut.IconLocation = Application.StartupPath + "\\LocalGameLaunchCenter.ico"; //快捷方式图标
//快捷方式图标文件路径
shortcut.IconLocation = exePath;
shortcut.Arguments = "";
//启动快捷方式的快捷键
shortcut.Hotkey = "CTRL+ALT+F11";
//必须调用保存快捷才成创建成功
shortcut.Save();
return true;
}
catch (Exception)
{
return false;
}
}
调用此方法代码:
//桌面的路径、快捷方式的备注信息、需创建快捷方式程序的路径。true为创建成功,false为创建失败
if (CreateDesktopShortcut(@"C:\Users\Admin\Desktop", "快捷方式的备注信息", "E:\start.exe") == true)
{
MessageBox.Show("快捷方式创建成功!!","提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
}
else
{
MessageBox.Show("快捷方式创建失败...", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
方法2.创建指定程序的快捷方式到指定位置
代码:
/// <summary>
/// 创建快捷方式到指定位置
/// </summary>
/// <param name="FilePath">指定的路径</param>
/// <param name="FileName">文件的名称</param>
/// <param name="exePath">EXE的路径</param>
/// <param name="exeName">EXE的路径与名称</param>
/// <returns>成功或失败</returns>
public bool CreateFilePathShortcut(string FilePath, string FileName, string exePath, string exeName)
{
try
{
if (System.IO.File.Exists(FilePath + FileName + ".lnk")) //判断原始快捷方式是存在
{
System.IO.File.Delete(FilePath + FileName + ".lnk"); //删除原来的快捷方式
}
WshShell shell = new WshShell();
//快捷键方式创建的位置、名称
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(FilePath + FileName + ".lnk");
//目标文件
shortcut.TargetPath = exeName;
//该属性指定应用程序的工作目录,当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。
//shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WorkingDirectory = exePath;
//目标应用程序的窗口状态分为普通、最大化、最小化【1,3,7】
shortcut.WindowStyle = 1;
//快捷方式的描述信息
shortcut.Description = FileName;
//shortcut.IconLocation = Application.StartupPath + "\\LocalGameLaunchCenter.ico"; //快捷方式图标
//快捷方式图标文件路径
shortcut.IconLocation = exeName;
shortcut.Arguments = "";
//启动快捷方式的快捷键
//shortcut.Hotkey = "CTRL+ALT+F11";
//必须调用保存快捷才成创建成功
shortcut.Save();
return true;
}
catch (Exception)
{
return false;
}
}
调用此方法代码:
CreateFilePathShortcut("指定复制到的路径","快捷方式名字", "程序所在的路径", "程序所在的路径+执行文件名.exe");
提示:快捷方式的快捷键语法打上按键名字的字符串即可,不过大多数用不上,如果不用的话注释掉就可以了。