CreateInternetShortcut macro & function: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Updated author and download links, and changed format of some pages.)
m (Updated author links.)
Line 1: Line 1:
{|align=right
|<small>Author: [[{{ns:2}}:Comm@nder21|Comm@nder21]] ([[{{ns:3}}:Comm@nder21|talk]], [[{{ns:-1}}:Contributions/Comm@nder21|contrib]])</small>
|}
<br style="clear:both;">
== Introduction ==
== Introduction ==
It's a frequently asked question how to create internet shortcuts.
It's a frequently asked question how to create internet shortcuts.
Line 56: Line 60:
Please post any other question, e.g. about usage and customization at the [http://forums.winamp.com/forumdisplay.php?forumid=65 NSIS forums].
Please post any other question, e.g. about usage and customization at the [http://forums.winamp.com/forumdisplay.php?forumid=65 NSIS forums].
Remember: You're not alone ...
Remember: You're not alone ...
Page author: [[User:Comm@nder21|Comm@nder21]]

Revision as of 23:27, 29 April 2005

Author: Comm@nder21 (talk, contrib)


Introduction

It's a frequently asked question how to create internet shortcuts. So, i've written an easy to use macro, doing this for you with a syntax like CreateShortcut. Also, there's a function working the same way.

The Macro

Source

!macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
!macroend

Example Usage

!insertmacro CreateInternetShortcut \
  "$STARTMENU\NSIS homepage" \
  "http://www.nsis.sf.net" \
  "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" "0"

Note: "FILENAME" should contain absolute path-information, if not, it will create the shortcut relative to the current "$OUTDIR".

The Function

Source

(doing just the same as the macro does)

Function CreateInternetShortcut
# store the vars and get the settings
Exch $3  ; the iconindex
Exch
Exch $2  ; the iconfile
Exch 3
Exch $1  ; the url
Exch 4
Exch $0  ; the filename (including path)
# create the shortcut
WriteINIStr "$0.url" "InternetShortcut" "URL" "$1"
WriteINIStr "$0.url" "InternetShortcut" "IconFile" "$2"
WriteINIStr "$0.url" "InternetShortcut" "IconIndex" "$3"
# restore the used vars
Pop $0
Pop $3
Pop $2
Pop $1
FunctionEnd

Example Usage

Push "$STARTMENU\NSIS homepage"
Push "http://www.nsis.sf.net"
Push "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
Push "0"
Call CreateInternetShortcut

Feedback

Any suggestions, feature requests or even bug reports? Feel free to send me an email or a private message.

Please post any other question, e.g. about usage and customization at the NSIS forums. Remember: You're not alone ...