Проблемы: мне нужно создать ярлык для каталога с пользовательским значком в 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();
Что вы описываете, звучит нормально, можете ли вы опубликовать фактический код? –
@JonathanPotter Сделано – PiotrK