2013-03-31 6 views
-1

Проблемы: мне нужно создать ярлык для каталога с пользовательским значком в C# (нет .NET API для этого)Создать ярлык для каталога с помощью IShellLink

До сих пор я сделал: В моих C# код Я запрашивая объект IShellLink (фактически IShellLinkA), задайте целевой путь через SetPath до @"S:\my\myDirectory\" (я также пробовал без последней косой черты), установите значок через SetIconLocation в @"S:\my\myDirectory\icon.ico, 0", чем вызов Save(@"S:\foo.lnk", true); В случае, если это важно, S: - это сетевой диск с записью access

Я получаю ярлык с соответствующим значком в проводнике, но после двойного щелчка я получаю сообщение об ошибке в польский «Windows ищет файл myDirect ory, если вы знаете, что функция использования местоположения использует функцию просмотра ». Когда я нажимаю правой кнопкой мыши ярлык и выбираю свойства, я получаю "Target type: file". Когда я вручную создать ярлык в папку под исследователем, есть "Target type: directory"

Я, конечно, не хватаю что-то очевидное, но я провел последние 30 минут поиска Google и MSDN для «быстрого доступа/IShellLink к директории» и ничего не нашел применения

Edit: Ваши источники, в соответствии с просьбой:

Я использую реализацию IShellLink от this сайта, мой код очень прост:

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

@JonathanPotter Сделано – PiotrK

ответ

0

Кажется, мне нужны новые глаза:/Было трудно увидеть опечатку (l вместо i) в названии пути ...

Смежные вопросы