(转)Winform 创建桌面快捷方式并开机启动
快捷方式实质上是一个扩展名为 .LNK 的文件
方法如下:
首先要添加引用 (如图)
就是那个Windows Script Host Object Model的类库....
然后在程序中引入命名空间
using IWshRuntimeLibrary;
有一些文件操作,所有要引入
using System.IO;
关键方法如下:
/// <summary>
/// 创建桌面快捷方式并开机启动的方法
/// </summary>
private void ShortcutAndStartup()
{
//获取当前系统用户启动目录
string startupPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
//获取当前系统用户桌面目录
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
FileInfo fileStartup = new FileInfo(startupPath + "//亿掌通.lnk");
FileInfo fileDesktop = new FileInfo(desktopPath + "//亿掌通.lnk");
if (!fileDesktop.Exists)
{
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) +
"//" + "亿掌通.lnk"
);
shortcut.TargetPath = Application.StartupPath + "//" + "Upgrade.exe";//启动更新程序★
shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WindowStyle = 1;
shortcut.Description = "亿掌通";
shortcut.IconLocation = Application.ExecutablePath;
shortcut.Save();
}
if (!fileStartup.Exists)
{
//获取可执行文件快捷方式的全部路径
string exeDir = desktopPath + "//亿掌通.lnk";
//把程序快捷方式复制到启动目录
System.IO.File.Copy(exeDir, startupPath + "//亿掌通.lnk", true);
}
}
/// 创建桌面快捷方式并开机启动的方法
/// </summary>
private void ShortcutAndStartup()
{
//获取当前系统用户启动目录
string startupPath = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
//获取当前系统用户桌面目录
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
FileInfo fileStartup = new FileInfo(startupPath + "//亿掌通.lnk");
FileInfo fileDesktop = new FileInfo(desktopPath + "//亿掌通.lnk");
if (!fileDesktop.Exists)
{
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) +
"//" + "亿掌通.lnk"
);
shortcut.TargetPath = Application.StartupPath + "//" + "Upgrade.exe";//启动更新程序★
shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
shortcut.WindowStyle = 1;
shortcut.Description = "亿掌通";
shortcut.IconLocation = Application.ExecutablePath;
shortcut.Save();
}
if (!fileStartup.Exists)
{
//获取可执行文件快捷方式的全部路径
string exeDir = desktopPath + "//亿掌通.lnk";
//把程序快捷方式复制到启动目录
System.IO.File.Copy(exeDir, startupPath + "//亿掌通.lnk", true);
}
}