Archive: NSIS function library


I've started making a page with commonly used functions..
http://www.nullsoft.com/free/nsis/functions.html

It's nowhere near complete.. and I haven't really tested those functions, either. :)

If you have a function you think should be added, send it to me (justin@nullsoft.com).. Ideally commented in a similar fashion to how the existing functions are (describing input, outputs, and any modified variables). If you don't mind, I'll edit it for consistency with everything else (but of course give credit).

If someone wants to try an IsAdministrator function, it should be easy (attempt to write to a certain registry key, and then see if you successfully did)..

I'm also thinking of including my RegisterFileType and UnregisterFileType functions which back up and restore the old associations-- I made them a while back, and haven't really done anything with 'em..

Anyway, I gotta get to bed...

-Justin


Shouldn't the adress be: http://firehose.net/free/nsis/functions.html and http://genghis.winamp.com/~deadbeef/nsis/functions.html? ;) :D

Good job Justin!

[Edited by Kaboon on 06-04-2001 at 06:57 AM]


justin,

i updated my functions yesterday to get a litle bit conform with your style (modified vars etc. $1 to $9) and added functionality (e.g. Windows XP(Whistler) in GetWindowsVersion).

btw:

i thought about the registry check i (i think you too) use to identify NT Systems, and asked myself the following:

on win 9x/me this regkey exists:
HKLM SOFTWARE\Microsoft\Windows\CurrentVersion

but isn't it the same on win nt systems?

until now i used HKLM SOFTWARE\Microsoft\Windows NT\CurrentVersion in the functions to identify NT systems, but at the moment i am not sure rather this key is valid at all.
i took a look in a NT registry some time ago and can't remember of such (...\Windows NT\...) a key, but i remember of a ..\Windows\.. key.

can you ACK that?

cu yzo


I'll rewrite the NSIS Vpatch function soon :)
This is cool.


Would this function be of use? I find that I often use it...

$0 contains the title of the window. Or you can just change it to the actual title...

Function WaitForWin
FindWindowByTitle GoTo:WinFound $0
Sleep 500
WinFound:
FunctionEnd