2015-03-28 4 views
0

Я создал ярлык A, который имеет целевой путь к "C:\firefox.exe" -P "profile one" -no-remoteКогда я создаю ярлык (B) на другой ярлык (А) его принятия пути Ярлык

я создать ярлык на рабочем столе (ярлык B), указывающий на этот ярлык A. Однако путь в ярлыке i (хотя я сказал ему shellLink.SetPath на пути ярлыка A) установлен на цель ярлыка A.

Поражение моей цели. Потому что я изменяю аргументы командной строки или целевой путь ярлыка А в зависимости от настроек пользователя. Но я хочу, чтобы ярлык на рабочем столе (Shortcut B) не нуждался в модификации, поскольку он будет указывать на Shortcut A. Причина. Я хочу, чтобы это было потому, что я сначала создавал ярлык B на рабочем столе для пользователя, но пользователь мог переместить его в другую папку, поэтому я не может найти это и обновить его путь сборки и т. д. В то время как ярлык A хранится в одной из моих папок, и я всегда знаю путь к ней.

Так есть ли способ, чтобы обеспечить целевой путь быстрого доступа B является расположение путь Ярлык А (а затем целевой путь быстрого доступа A)

Спасибо!

+1

Это не вопрос для [su]? – Dialecticus

+2

Я не думаю, что это возможно. Например, вы не можете передавать аргументы командной строки для ярлыков файлов. Также обратите внимание, что если вы попытаетесь вручную создать ярлык для ярлыка (например, вставив путь в файл '.lnk' в поле Target), вы получите сообщение об ошибке« Вы не можете создать ярлык для другого ярлыка . Скопируйте ярлык и поместите его в новое место или создайте новый ярлык для исходного файла или папки ». – jamesdlin

+0

Спасибо @james будет жесткая ссылка/соединение больше подходит? Я просто об этом узнал. – Noitidart

ответ

1

Несмотря на то, что я написал в предыдущем комментарии, по-видимому, создать ярлык для быстрого доступа является программно можно, начиная с Windows 7 с помощью the SLDF_ALLOW_LINK_TO_LINK flag с IShellLinkDataList::SetFlags.

+0

Спасибо, @james! Мне на самом деле нужно было поддерживать XP и Vista, поэтому я закончил создавать жесткие ссылки на ярлык. Но большое спасибо за этот ответ. – Noitidart

0

Я использовал CreateHardLink:

Обновление значок propogates на другой, обновление целевой размножается, но обновление имени файла не очень сладкий. Спасибо!

Видимо, CreateSymbolicLink необходим повышенный уровень владения, поэтому я пробовал жесткую ссылку, и это сработало, но мне потребовалась жесткая ссылка, которая будет в другом каталоге, а затем в целевой файл.

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