2012-04-27 6 views
5

Существуют ли какие-либо функции, позволяющие создавать ярлыки в Windows, как вы можете создавать символические ссылки в Linux? Я бы предпочел бы иметь возможность редактировать такие вещи, как цель и имя, вместо того, чтобы каждый раз создавать новый ярлык каждый раз, когда я хочу что-то изменить из-за обновления.Windows (.lnk) ярлыки API?

Я попытался открыть файл .lnk в текстовом редакторе, и это была целая кучка gobbelty gook. Интересно, почему он наполовину двоичный, поскольку ярлыки на Linux похожи на файл .ini, простой и простой в использовании. Я боюсь, что если я поеду, хотя данные, я могу расстроить какую-то контрольную сумму, и ярлык не будет работать, поэтому мне интересно, есть ли какой-то конкретный API, который должен быть призван возиться с этими объектами.

Обновление: Я нашел функцию для запроса ярлыков данных MsiGetShortcutTarget()http://msdn.microsoft.com/en-us/library/windows/desktop/aa370299(v=vs.85).aspx, но пока ничего не создано для создания или изменения ярлыков.

+1

'MsiGetShortcutTarget()' для файлов ссылок установщика Windows, а не общих файлов ссылок. Документ, к которому вы ссылаетесь, даже говорит использовать 'IShellLink' для файлов, которые' MsiGetShortcutTarget() 'не загружается. –

+0

В Windows ссылки Shell (или ярлыки) и символические ссылки - это две разные вещи. Чтобы создать символическую ссылку, используйте CreateSymbolicLink(). –

ответ

8

См. here для документации MSDN по ссылкам на оболочку.

+1

Это кажется раздражающим для создания ярлыков ... Я думаю, все так похоже. – chris

+0

Большинство объектов в оболочке Windows доступны через COM-объекты. –