快捷方式实质上是一个扩展名为 .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 );
}
}