我正在尝试以编程方式创建目录的快捷方式。我找到了很多例子,但似乎没有一个能真正奏效。
我在生成的快捷方式的属性中观察到三种不同的结果:
文件的快捷方式类型被指定为“快捷方式(.lnk)”,这会导致弹出“打开方式”对话框,要求我为其附加扩展名。
文件属性的快捷方式类型被指定为“文件”,双击时绝对不会执行任何操作。
或者最后,这当然是我最喜欢的......文件属性的快捷方式类型被分配为:“文件夹”,它应该像它应该的那样工作。
这是我目前正在使用的代码......我已经尝试了一些变体。
bool IsExists = false;
string icon = appPath + "Welcome.ico";
// Their is a difference to local and ClickOnce App locations... this compensates for it
IsExists = System.IO.File.Exists(icon);
if (!IsExists)
{
icon = appPath + @"bin\Debug\Welcome.ico";
}
var desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
var target = (Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artronix\Welcome To FreightWare Online\").Replace(@"\","/");
IWshShortcut shortcut;
var wshShell = new WshShellClass();
shortcut = (IWshShortcut)wshShell.CreateShortcut(Path.Combine(desktop, @"FreightWare Resources.lnk"));
shortcut.IconLocation = icon;
shortcut.TargetPath = Path.GetFullPath(target);
shortcut.Save();