Цитата Kopejkin:
то как записать Ярлык Интернета (.url) »
|
Ну url файл это вообще "не ярлык" сам по себе (если можно так выразиться), это файл формата INI, соответственно и создавать нужно либо командами
WriteINIStr в файл с расширением
url, либо просто распаковывать заранее подготовленный файл
Содержание файла такое:
Код:

[InternetShortcut]
URL=http://vk.com/sfxcreator
IconFile=путь к файлу иконки
IconIndex=индекс иконки (если exe/dll файл)
соответственно, записываем нужные данные и url файл готов, можно создать его сразу на рабочем столе (например), либо создать в папке с программой и уже к этому файлу создавать ярлык на рабочем столе
Цитата Kopejkin:
и чтобы с пиктограммкой дефолтного браузера »
|
Определить нужно сначала дефолтный браузер

Не особо вникал в этот вопрос (правильное ли это определение или нет):
Код:

ReadRegStr $1 HKCR "http\DefaultIcon" ""
WriteINIStr "$DESKTOP\TEST.url" "InternetShortcut" "URL" "http://vk.com/sfxcreator"
WriteINIStr "$DESKTOP\TEST.url" "InternetShortcut" "IconFile" "$1"
проверку на отсутствие записи и запись другого значка, сами уже сделаете, как нужно
На примере Firefox - там иконка html-файла (значение параметра путь к firefox.exe и с индексом 1,
firefox.exe,1)
Забегая вперёд и включая вангу, предположу возникновение вопроса о том, как отсечь с конца строки символ запятой вместе с индексом иконки
Код:

!include "Logiclib.nsh"
!include "StrFunc.nsh"
${StrLoc}
Код:

ReadRegStr $1 HKCR "http\DefaultIcon" ""
${StrLoc} $0 "$1" "," "<" ; получаем в $0 количество символов после знака запятой
${If} $0 != "" ; если $0 = '' (пустое значение), значит символа запятой нет, соответственно, отсекать символы не нужно
IntOp $0 $0 + 1 ; к количеству символов после запятой прибавляем 1, получаем общее количество символов (индекс+символ запятой) которое мы будем отрезать с конца строки
StrCpy $1 $1 -$0 ; отрезаем $0 символов с конца строки
${EndIf}
WriteINIStr "$DESKTOP\TEST.url" "InternetShortcut" "URL" "http://vk.com/sfxcreator"
WriteINIStr "$DESKTOP\TEST.url" "InternetShortcut" "IconFile" "$1"