C#创建快捷方式

时间:2016-11-24 18:26:34

标签: c#

我正在尝试创建一个为所选程序创建快捷方式的应用程序。程序启动时,会显示listbox中的所有程序,您可以搜索该程序。如何从listbox内的选定程序创建快捷方式,并将其命名为所选程序。我使用了这段代码,但我只为记事本创建了一个快捷方式。 Create shortcut on desktop C#

private void CreateShortcut()
{
    object shDesktop = (object)"Desktop";
    WshShell shell = new WshShell();
    //string shortcutAddress = (string)shell.SpecialFolders.Item(ref shDesktop) + @"\Notepad.lnk";
    string shortcutAddress = (string)shell.SpecialFolders.Item(ref shDesktop) + @"\Notepad.lnk";
    IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress );
    shortcut.Description = "New shortcut for a Notepad";
    shortcut.Hotkey = "Ctrl+Shift+N";
    shortcut.TargetPath = Environment.GetFolderPath(Environment.SpecialFolde r.System) + @"\notepad.exe";
    shortcut.Save();
}

2 个答案:

答案 0 :(得分:0)

您可以使用CSharpLib。下载here,或者如果您使用的是Visual Studio,则在工具> NuGet程序包管理器>程序包管理器控制台中输入Install-Package CSharpLib -Version 2.4.5。他们在Shortcut类中有几种方法 可用于快捷方式操作。例如:

using CSharpLib;

Shortcut shortcut = new Shortcut();
shortcut.CreateShortcutToFile("target_file", "shortcut_file");

答案 1 :(得分:-1)

shortcut.TargetPath = Environment.GetFolderPath(Environment.SpecialFolde r.System) + @"\notepad.exe";更改为shortcut.TargetPath = YourListBox.getSelected();

编辑:如果getSelected()不起作用,请尝试getSelectedItem()