通过IShellLink创建目录的快捷方式

时间:2013-03-31 18:33:57

标签: shortcut windows-shell

问题:我需要在C#中使用自定义图标创建目录快捷方式(没有.NET API)

到目前为止,我已经完成了:在我的C#代码中,我正在查询IShellLink对象(实际上是IShellLinkA),通过SetPath将其目标路径设置为@"S:\my\myDirectory\"(我也尝试过没有最后的斜杠),通过SetIconLocation设置图标至@"S:\my\myDirectory\icon.ico, 0",而不是致电Save(@"S:\foo.lnk", true);如果这很重要,S:是具有写入权限的网络驱动器

我在资源管理器下使用正确的图标获得快捷方式,但是双击后我得到了错误消息“Windows正在搜索文件myDirectory,如果您知道位置使用浏览功能”。当我右键单击快捷方式并选择属性时,我得到"Target type: file"。当我在资源管理器下手动创建目录快捷方式时,有"Target type: directory"

我肯定遗漏了一些显而易见的东西,但是我花了30分钟时间在Google和MSDN上搜索“快捷方式/ IShellLink到目录”并发现没有任何用处

修改:根据要求发布来源:

我正在使用this网站上的IShellLink实现,我的代码非常简单:

ShellShortcut shortcut = new ShellShortcut(@"S:\foo.lnk");
shortcut.Description = "Sample item";
shortcut.IconPath = @"S:\my\myDirectory\icon.ico";
shortcut.IconIndex = Convert.ToInt32(0);
shortcut.Path = @"S:\my\myDirectory\";
shortcut.WorkingDirectory = @"S:\my\myDirectory\";
shortcut.Save();

1 个答案:

答案 0 :(得分:0)

似乎我需要新的眼睛:/路径名中很难看到拼写错误(l而不是i)...