System plug-in

From NSIS Wiki

This plugin is included with NSIS.


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)


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.

Example codes

COM Programming


System plug-in - © 2002-2005 Nik Medved (brainsucker),

Personal tools