System plug-in
From NSIS Wiki
This plugin is included with NSIS.
UNIQ78adb96158d45e04-h-0--QINU Links
NSIS Forums (where your questions, complaints, suggestions... should go)
System Plugin Documentation (same as included w/ NSIS)
System Plugin Documentation (wikified - Rev ID: 1.6)
UNIQ78adb96158d45e04-h-1--QINU Description
Version: 9/Sep/2005.
This plugin is basically the "heart" of the advanced features you see on NSIS. With this you can call any exported function from any DLL you wish. DLL functions are so complex that this plugin turns to be really difficult to be used by beginners, so it's recommended to read the manual and experiment with the examples provided first. Look at some of the features it has:
- Calls exported functions from DLL's, creates new structures, functions and structures located at specific memory addresses and interfaces, and creates new callback functions for usage with certain functions.
- Has 6 built-in functions: Alloc, Free, and Copy (memory functions), Call and Get (calling functions) and Int64Op (math function).
- Interacts with COM objects.
- Perform simple Mathematical operations on 64-bit integers, with 15 operators in total.
- Has its own private stack (lost when plugin is unloaded) + NSIS Stack.
- 7 basic parameter types for input and 6 for output on calls. Has implementation of pointers.
- Has additional options like to use "cdecl" call convention, to call "GetLastError()" after a DLL function is called, or to unload the DLL using FreeLibrary.
More information can be found inside the documentation.
UNIQ78adb96158d45e04-h-2--QINU Example codes
- Allow only one installer instance
- Autorun.inf Generator
- Calling an external DLL using the System.dll plugin
- Check open ports
- CheckSpaceFree
- Closing ALL Internet Explorer Windows
- Convert GetFileTime results to day/month/year
- Detect TabletPC
- Detect User Locale INFO(Language, Country, LangID...)
- Detect User User Color Depth bits
- Determining free memory using the System plugin
- Escape ARP Job With New Process
- ExecWait and waiting for child processes with Job Objects
- FreeDiskSpace
- Get File Size using the system plugin
- Get User's screen resolution
- Get a list of running processes
- Get the Special Folders Dirs. (System plugin)
- Get the system decimal delimiter
- GetWindowInfo
- Moving install window to a corner of the screen
- NSIS Service Lib
- Play Sound
- REG MULTI SZ Reader
- Refresh Desktop
- Replace text in a file with the contents of other file
- Scheduled Tasks
- Sorting Components
- TextBox Styles (numeric, uppercase and lowercase)
- WinAPI
- WinAPI:kernel32:Beep
- WinAPI:kernel32:CopyFile
- WinAPI:winmm:PlaySound
[edit] COM Programming
[edit] Credits
System plug-in - © 2002-2005 Nik Medved (brainsucker), http://brains.by.

