
Как программно создать ярлык

Как программно создать ярлык
Ярлыки - одна из ключевых сущностей Windows. Это специальные файлы, служащие указателями на папки, программы или команды. Для управления ярлыками в Windows используется COM-объект ShellLink, точнее одна версия для ANSI и вторая для юникода. Они отличаются своими GUID. В любом из этих объектов реализовано по два интерфейса. Интерфейс IShellLink, с помощью которого можно получать и изменять свойства ярлыка, и интерфейс IPersistFile для работы непосредственно с самим файлом ярлыка.
Для доступа к COM-объектам первым делом надо обозначить их GUID:
Code (Assembler) : Убрать нумерацию
- ; GUID {00021401-0000-0000-C000-000000000046}
- CLSID_ShellLink dd 00021401h
- dw 0000h
- dw 0000h
- db 0C0h, 000h, 000h, 000h, 000h, 000h, 000h, 046h
- ; GUID {000214F9-0000-0000-C000-000000000046}
- IID_IShellLinkW dd 000214F9h
- dw 0000h
- dw 0000h
- db 0C0h, 000h, 000h, 000h, 000h, 000h, 000h, 046h
- ; GUID {0000010B-0000-0000-C000-000000000046}
- IID_IPersistFile dd 0000010Bh
- dw 0000h
- dw 0000h
- db 0C0h, 000h, 000h, 000h, 000h, 000h, 000h, 046h
Code (Assembler) : Убрать нумерацию
- ; IID_IShellLinkW Interface
- struct IShellLinkWDispatch
- QueryInterface dd ?
- AddRef dd ?
- Release dd ?
- GetPath dd ?
- GetIDList dd ?
- SetIDList dd ?
- GetDescription dd ?
- SetDescription dd ?
- GetWorkingDirectory dd ?