nMacro

Version: 2.0.2

Price and licensing: 39 USD single developer license or 199 USD company license

Release date: 09 December 2009

Copyright: NKProds SRL 2009

Website: www.NKProds.com (EN)

Support Forum: www.NKProds.com/forum

Contact: [email protected], [email protected]

Update: Update NOW!

Purchase nMacro PRO Unlimited: PURCHASE NOW

This is the new nMacro generation modified to offer more functionality and more possibilities to users while preserving the ease of use.

nMacro 2 adds automation features along side commands that allow users to develop simple applications.

  • Supports conditional run. Can now implement repetitive and conditional sequences using Controls and Conditions.
  • 5 control types that allow users to create loops and conditional sequences.
  • Over 40 powerful Commands that vary from registry and file functions to math and windows. 
  • Added option to take icon from exe, dlls and .ico files
  • Redesigned user interface.
  • Added support for projects that store all recordings, commands and controls.
  • Added command line commands for batch builds.
  • New license for nMacro oriented to company development (single developer license and company license)
  • Improved Check for Updates feature.
  • Reviewed code and improved speed, security and error handling, also increasing stability and reliability.
  • Lots more features and improvements…

v2.0.1 – 01 November 2009 (maintenance update)

  • Added commands for database operations (Connect to database and Execute command)

  • Added Send email command

  • Added hotkey support by adding the Keys are pressed condition

  • Added error handling options

  • Added commands to interact with .ini files

  • Added window commands (Move window and Resize window)

  • Added commands for Windows Services

  • Added new conditions (On error occured and Windows is shutting down)

  • Improved interaction with the Commands list Fixed adding more than one recordings in a project Lots of small fixes and improvements

nMacro is an automation tool, and a development tool aimed at providing users with a easy to use (no coding necessary), intuitive interface to create small, complex applications (.exe files) in order to automate repetitive tasks or as stand alone applications. Use nMacro to create applications that can:

  • Record mouse and keyboard activities and the reproduce them.
  • Interact with users by requesting input as text, file paths, YesNo decisions and more…
  • Read, write, create and remove registry values and registry keys.
  • Read, write, create and remove files and folder.
  • Offer full control over windows.
  • Offer full control over processes.
  • Launch and close applications.
  • Offer special tasks like Taking screen sots or rebooting.
  • Simulate key combinations andor simple key strokes
  • Show notifications like message boxes and message balloons.
  • Create loops and conditional sequences based on conditions.
  • Create and use variables (keywords) to store information for later use.
  • and much more…

nMacro is designed to offer a simple, easy to use interface that does not involve the user learning proprietary or existing script languages and yet offer a high level of  customization. We want to offer powerful commands that can make life a little bit easier for users by saving them a lot of time and trouble.
nMacro is based on a command que in which you are adding commands and controls that are executed in the order they are encounter, with one exception, the Jump to line control that can move execution to any line in the command que.

Please send us bugs, problems, questions, ideas. Contact us or write to us on our Support Forum.

  • Builds projects into stand alone executable files (.exe)

    that can be executed on any Windows machine without needing nMacro to be installed.

  • Easy to use, intuitive applications allows users to create powerful application without writing any code 

    with just a few mouse clicks.

  • Powerful tool for creating automation scripts for repetitive actions.

    Can also be used to develop simple applications.

  • Powerful commands

    that allow manipulation of files, registry, windows, http, ftp, variables (keywords), user input, calculus, alerts and many more…

  • Supports Conditional run with repetitive (loops), conditional sequences along with event schedule, all using Controls and Conditions.
  • Can handle an unlimited number of commands and controls.
  • Can record all mouse and keyboard actions

    and then reproduce them exactly on any system.

  • Comes with

    nKeys

    , a small application that allows users to attach application to keyboard hotkeys (for example run an application when ALT + N is pressed).

  • Complex system, file, and registry Commands that can be added to projects to increase the functionality of your files.
  • Extract icon and version information for the output file from other applications (EXEs), DLL files, and ICO files.
  • Can use special keywords like %TEMP%, %DATE% and other to specify special folders and special system parameters fro commands, controls, unpack paths and command line arguments.
  • Can save and then open projects that contain commands. Project can also be used in batch builds using command line arguments.
  • Other special keywords are used to get system information at runtime like the date, time, user name, the command arguments used when the output file was launched and more.
  • Can create variables (keywords) to store information for later use andor manipulation.
  • User friendly interface includes hints and help that explain features and also explains how to use them.

Plans for future versions:

  • Commands for encrypting/decrypting files.
  • Commands for  compressing/decompressing files.
  • Maybe nMacro 2 + nBinder. What do you say? Contact us.

 

nMacro can be used to automate complex repetitive tasks, (for example modifying files and uploading them to a password protected FTP server). You can display information either as message boxes or as message balloons, get input from users (text, passwords, file paths, choices…), play media files (video and audio), create, write, read and manipulate files and folders and registry keys and values, download and upload files from FTP and HTTP, manipulate windows and processes, do calculations, manipulate mouse and keyboard and simulate actions, create, modify and use keywords (variables), do loops, schedules and tests based on Controls and Conditions and many more.  All with the advantages of saving as small stand alone executable files that can run on any Windows system (even without having nMacro installed). This small executable files can be easily distributed due to their compact nature and small size.

Using nMacro’s complex commands and controls and the fact that it can build projects into small stand alone executable files, you can also create stand alone applications that will run on any Windows system with or without user input.

You use nMacro by adding commands from the Commands Tree (containing all commands and controls) on the right to the Command Que list on the left in the order that you want them to be executed when the output file will be created and launched.  After you have finished adding, arranging and setting properties for commands and controls you can save the project for later editing within nMacro by using the save button, and you can build the project into the output file (a stand alone executable .exe file that you can run to execute the commands you have added inside the Command Que list).

NOTE – KEYBOARD SHORTCUTS: You can use keyboard shortcuts like the DELETE key to remove a file or a command from the project, INSERT to add a new file to the project, SPACE to see a file’s options or to edit a command, CTRL+S to save the project, CTRL+O to load a project, CTRL+N to start a new project and F5 to Bind. See all keyboard shortcuts.

Terminology:

  • Command Que:

    Refers to the large list occupying the left side of the interface where all commands and controls are added. When the project is built the commands are executed in the order they are encountered in this list (except for when Jump to line controls modify the flow).

  • Commands:

    Instruction added into the Command Que that are executed when the output file is launched,

  • Controls:

    Special commands that can interact with the Command Que execution order. You can use Controls to pause execution, stop it or jump to a certain line in the project.

  • Conditions:

    Test that can be true or false. Based on these test Controls are executed or not. Controls can be executed when allany Conditions are true or false.

  • Keywords:

    Keywords are like variables in programing languages. Keywords store under a certain name a piece of information for later use or manipulation. Users can create and modify keywords. There are also predefined keywords that cannot be modified (like %DATE% for the current date. See more below). Keywords can be used any ware in nMacro. You can use them in the properties of commands, controls and conditions and they will be replace at runtime with the value they are storing.

  • Output file – is the executable (.exe) file that will result after the bind operation completes. This is the file that will contain the files added to the list.
  • Commands – special project items that can be added to a project to enhance functionality and perform a series of predefined actions like registry access, file creation, removal, window management (hide/close/minimize/activate windows) and many more.
  • Controls – special project items that can influence the project flow, the order in which commands and files from the project are executed or if they are executed or not, based on some set conditions that have to be true for the control to work. Projects are executed sequentially in order from the first line to the last if controls aren’t used.
  • Conditions – are tests done to see whether to execute a control or not. Multiple conditions can be added for every control and they need to be true simultaneous in order for the control to be executed. If no conditions are added for a control then it will be executed every time it is reached in the project.
  • Unpacker – The unpacker is actually the part of the output program that unpacks the files added to the project (output) as temporary files in the specified temporary folder according to the options the user set and then runs the specified files. The unpacker is also responsible for protecting folders if this option was specified. The protected folders will only be kept protected while the unpacker is open (runs), once it closes the folder will be unprotected. The unpacker will be opened until the last executable file in the project has closed.
  • Take icon from – sets the icon of the output file. If no icon file, executable or dll is selected the icon of the first file (if .exe .dll or .ico) in the list will be used. If the project contains no exe file then no icon will be set and the default icon will be used.
  • Take version from – sets the version information (product name, company name, version number …) for the output, by copying this information from the specified .exe file
  • nKeys

    – a small application  that comes with nMacro, that allows users to attach application to keyboard hotkeys (for example run an application when ALT + N is pressed).

  • Error Handling: Show Errors – Shows a message box describing errors when they occur and continues execution.

Interface – Main Window

  • Command Que:

    Refers to the large list occupying the left side of the interface where all commands and controls are added. When the project is built the commands are executed in the order they are encountered in this list (except for when Jump to line controls modify the flow).

  • Commands List:

    The list in the right side of  the interface that contains all the Commands and Controls. From here you can add commands and controls to the Command Que by double clicking a command or you can find more about the selected command by pressing the Info button.

  • Add command

    button: This button will add the selected command or control from the Command list to the Command Que.

  • Info

    button: This button will display a message box with useful information about the command selected in the Command List.

  • Properties:

    This area displays properties for selected commands or controls from the Command Que list. Almost all commands have properties that you can set. Controls have Conditions that you can set by pressing the Set Conditions button. (You can find out more about Controls and Conditions in the next sections)

  • Build

    button: This button will build the current project. A new window will appear that will prompt you for an output location where to save the resulting file (.exe). Also you can chose a file from which to take an icon for the output file. You can take icons from .exe , .dll and .ico files. If the file contains more than one icon you will be prompted to choose which icon you want to use. Here you can also select the ‚Do hash…‘ checkbox to calculate a checksum, in order to verify if that output file has been tampered with (and deny access if it has been modified).

  • Remove

    button: This button will delete the selected command from the Command Que list. You can also do this by using the Delete key.

  • Up arrow

    button: This button will move the selected command from the Command Que up one position.

  • Down arrow

    button: This button will move the selected command from the Command Que down one position.

  • Save

    button: This button will save the current project to a nMacro project file (.nmp) that you can later load in nMacro. It will save all commands in the Command Que and additional info like output path and ‚Take icon from‘ path.

  • Load

    button: This button will load a previously saved nMacro project (.nmp file)

  • Clear

    button: This button will remove all items from the Command Que list.

  • Keys

    button: This button located in the upper right corner of the main window will open a small utility bundled with nMacro that allows users to set some hotkeys shortcuts (like ALT + N) to open certain files. You can use this application to assign certain key shortcuts to open files created with nMacro.

  • Project

    button: This button located in the upper right corner of the main window will allow you to Open, Save or Create New projects. From here you can also clear or build the current project.

  • Help

    button: This button located in the upper right corner of the main window will allow you to see the help file, see About informations, Check for updates, and enable or disable the Check for updates on startup feature. If this feature is enabled, nMacro will connect to nkprods.com every time you open it and check to see if a newer version is available.

Keyboard Shortcuts

nMacro supports the following keyboard shortcuts:

  • F5 – Build project
  • CTRL + B – Build project
  • CTRL + N – New project
  • CTRL + O – Open project
  • CTRL + S – Save project
  • DELETE – Removes a project item
  • CTRL + Z – Undo last action. Supports adding, removing and moving project items. Does not support editing project items
  • CTRL + Y – Redo last undo-ed action. Does not support editing project items
  • CTRL + A – Select all project items

Command line arguments

Both nMacro and files created with nMacro (output files) support command line arguments. For example you can start nMacro using the /load= argument followed by the path to a project file (.nmp) to load the specified project.

For nMacro.exe:

  • /load= – Followed by the path to a project file will open the specified project file and will start with the project open.
  • /build – Will build the opened project. Valid only when the /load= argument is also specified
  • /out= – Followed by the path where to save the output file (include the filename). Overwrites the output path specified in the project (if it exists)
  • /quiet – Will build the project without showing the interface. Valid only when the /build argument is also specified
  • /progress – When specified will display the progress dialog during a build even if /quiet has been specified
  • /test – Will open the newly binded file as soon as the bind process is completed successfully

Example: nMacro.exe /load=D:project.nmp /build /out=D:project.exe /quiet /test

The order is not important.

Special Keywords

Special keywords are text sequences that can be used anywhere, in commands, in conditions, in keywords and so on, that will be replaced at runtime by the output file with the special value associated. Keywords can be used anywhere in nMacro. You can use them in the properties of commands, controls and conditions and they will be replace at runtime with the value they are storing.

Here is a description of all predefined keywords:

  • %RUNTIME% – Runtime folder means the folder in which the output file is opened from (the folder that contains the output file).
  • %TEMP% – Will be replaced with System Temporary folder. Example: C:Documents and SettingsAdministratorLocal SettingsTemp
  • %WIN% – Will be replaced with Windows folder. Example: C:Windows
  • %SYSTEM% – Will be replaced with the systems folder Example: C:WindowsSystem32
  • %DESKTOP% – Will be replaced with the desktop folder for the current user. Example: C:Documents and SettingsAdministratorDesktop
  • %USER% – Will be replaced with the current user’s Documents and Settings folder. Example: C:Documents and SettingsAdministrator (if the user name is Administrator. Also you can get the user name by using the %USERNAME% keyword)
  • %PROGRAMFILES% – Will be replaced with current Program Files folder. Example: C:Program Files
  • %OUTPUTCMD% – Will be replaced with the command line arguments (if any) that have been sent to the output file when it was launched. Example: nMacroExample.exe -nnn (here the -nnn text is the command line argument)
  • %OUTPUTNAME% – Will be replaced with the name of the output file. Example: nMacroExample.exe (here the name of the output file created with nMacro is nMacroExample.exe)
  • %DATE% – This keyword will be replaced with the current date at runtime of the output file. The date format is HH/MM/YY.
  • %TIME% – This keyword will be replaced with the current time at the runtime of the output file. The time format is HH:MM (where HH is in 24h format)
  • %TIMES% – This keyword will be replaced with the current time (with seconds) at the runtime of the output file. The time format is HH:MM:SS (where HH is in 24h format)
  • %USERNAME% – Will be replaced with the current name of the current logged on user.
  • %ACTIVEWND% – Will be replaced with the name of the currently active window
  • %INPUT% – 

    Here you can find information returned by keywords that interact with the user. The command Get User Input from Notify stores all user choices in this keyword.

  • %RESULT% – 

    This keyword stores results from commands like Read File, Read Registry Value, and Calculate.

  • %PASTE% –  

    This keyword will be replaced with the text currently stored in the clipboard (like using CTRL + V).

For registry commands and registry related conditions only, you can use the following keyword too when specifying the registry path:

  • HKCU – Will be replaced with HKEY_CURRENT_USER
  • HKLM – Will be replaced with HKEY_LOCAL_MACHINE
  • HKCR – will be replaced with HKEY_CLASSES_ROOT

Besides these predefined commands that cannot be modified, users can also create and edit their own keywords. To create and editset keywords use the CreateSet Keyword command and specify the name of the new keyword and it’s initial value.

Commands

Commands can be added to the project in what ever order necessary relative to other commands or files. You can add commands in any order you want. Keywords can be used anywhere in nMacro. You can use them in the properties of commands, controls and conditions and they will be replace at runtime with the value they are storing.

You can read more information about commands and controls by using the Info button (situated in the lower right corner of the Command tree) for the command selected inside the commad tree or the Show Info link (situated in the top right corner of the Properties window).

  • Record mouse and keyboard – 

    Use this command to record all mouse and keyboard actions in order to later reproduce them exactly on the target system. Once you add this command into the Command que by double clicking it from the Commands Tree you should select it and press the

    Start Recording

    button in the properties window. After this nMacro will begin recording all mouse actions (movements, clicks, scroll) and all keyboard actions (all keys pressed) and will store them inside the project to be build into the output file later.

    To stop the recording and return to nMacro you have to press CTRL + BREAKPAUSE

    . When this command is encountered inside the Command que (when the output files is lauched) the mouse will begin moving as recorded and keys will be simulated in the exact order they were recorded.

    WARNING:  In order to record and play recording, UAC (User Account Control) needs to be disabled on both the system on which the recording is made and on the system on which it is played. To disable the UAC open the Control Panel (from the start menu), go to User Account and Family Safety, click on User Accounts, select Turn User Account Control On or Off, uncheck the checkbox and press OK. A restart is required.

    Disabling the UAC is not recommended and may create security issues.

Notify:

  • Message Box – This command will display a message box containing the message you selected, the caption will have the name of the output file. You can select an icon from the standard icons (Information, Error, Warning) and you can enter a text or a keyword to display. When the message box is shown the execution of the project is paused until the user presses the OK button.
  • Message Beep – 

    This command will produce a beep sound.

  • Tray Message Balloon – 

    This command will display a Message Balloon in the tray area (above the clock in the tray bar). You can enter the message to display and the icon to be used. The message will be visible for a few second and will not pause the execution of the project, the next command will be executed before the message balloon disappears. It is possible for the message balloon not to be shown if the user has disabled them from the registry.

  • PlayStopPause media file – 

    This is a powerful command capable of playing movies or soundsmusic as long as the necessary codecs are installed. All common formats are supported: a

    vi, wmv, mpeg, mpg

    for videos and

    mp3, wav, ogg, wma

    for audio. To play a media file add it path (or a keyword containing the path) and select the Play command. Once the file has began playback you can Pause and Stop it or you can play another file. If you select a video file and the necessary codecs are installed a window playing the video will appear. For audio files no window is displayed, the audio file is played in the background. To stop or pause a file leave the path empty and selected the wanted command. The selected command will apply to the last opened file if it is still opened.

  • Get User Input – 

    This command will get input from the user like text input, password, a choice or a file (path) to save or open. You can input a text (or a keyword) that will show in the message box for text/password and choice input or as the title for the Browse and Save windows. The inputed value will be saved in the 

    %INPUT% 

    keyword. For choices (YesNo, YesNoCancel, AbortRetryIgnore) the %INPUT% keyword will have the value (in upper case) of the button the user has pressed. For example if YesNo is selected and the user presses the Yes button, %INPUT% will contain the value YES. For BrowseSave the %INPUT% keyword will contain the path of the selected file.

System:

  • Execute command – Here you can add commands like paths to files to be opened or Internet addresses to opened in the default Internet browser or names of Windows applications like

    notepad

    to open NotePad or

    mspaint

    to open Paint or msconfig. You can also write a command like mailto:[email protected] to begin composing an email (using the default email application) to send it to the specified email address or a web address like

    Home

    to open the address in the default browser.

  • Shutdown/Restart – This command shuts down or restarts the system. NOTE: It forces applications to close so you might not be prompted to save your unsaved data.
  • Set Display Resolution – 

    This command will change the current screen resolution to the selected one. If you select Reset the resolution will be reseted to the initial value.

  • Take Screenshot – 

    This command will take a screenshot of the screen and saves it as a bitmap (.bmp) image at the path specified. You can select Entire screen to take a screenshot of the entire screen or Active Window for the currently active window only. For the path you can sue keywords for the path and filename. You don’t have to add the extension .bmp as it will be added automatically.

  • Show/Hide Cursor – 

    This command Hides or Shows the default arrow mouse cursor. The cursor will still be active and usable but you will not see it. Before the unpacker closes the default cursor will be shown if it was hidden.

  • Change Cursor – 

    Use this command to change the default arrow mouse cursor with a standard cursor selected from the drop down list. Before the unpacker closes the default cursor will be restored if it was changed.

  • Block Input – This command blocks all keyboard and mouse input until the user presses CTRL+ALT+DEL or until the user adds another Block Input command to disable it. Before the unpacker closes the input will be restored if it was blocked.
  • Simulate Key Stroke – 

    This command will simulate a hot key combination as if the user has pressed it. For example you can simulate CTRL + C to copy the selected text. You can also simulate a single key here.

  • Simulate Text – 

    This command simulates text input as if the user has pressed the keys on the keyboard in the specified order. Enter a text and it will be simulated letter by letter as if typed.

Processes and Windows:

  • Activate/Close/Hide Window – This command will modify the status of the window with the specified title. The specified title needs to be an exact match with the title of the window you want to modify. You can Close the window (might close the app owning the window too), Minimize it to the task bar, Hide it so that it will still be opened in the background but will disappear from the desktop and task bar. Also you can choose Show Window which will show the window if it is hidden and reactivates it, bringing it to the desktop.
  • Minimize/Close All Windows – 

    This command will Minimize or Close all open windows.

  • Run –

    This command is similar to the Execute Window command. Here you can add commands like paths to files (or applications) to be opened or Internet addresses to opened in the default Internet browser or names of Windows applications like

    notepad

    to open NotePad or

    mspaint

    to open Paint or msconfig. You can also write a command like mailto:[email protected] to begin composing an email (using the default email application) to send it to the specified email address or a web address like

    Home

    to open the address in the default browser.

  • Move Window – Moves an existing window to the specified coordonates. Specify the exact window name and the coordonates in the format: width x height (Ex: 120×100). The coordonates are in pixels starting from the upper left corner.

  • Resize WIndow – Resize window to the specified size. Specify the exact window name and the new size using the format: width x height (Ex: 200×400). The size is in pixels starting from the upper left corner.

  • Terminate Process – This command will close the specified process (application). You should specify the process name (as it appears in Task Manager). Usually the process name is the same with the file name, for example mspaint.exe for Windows Paint.
  • Start/Stop/Enable/Disable Service – This command can start, stop, enable or disable a Windows service.

Internet:

  • Download File (HTTP) – 

    This command will download a file from an HTTP location on the Internet to the specified local path. The unpacker will wait until the file is downloaded before it continues with the next commands.

  • Download File from FTP – 

    This command will download a file from a FTP location on the Internet to the specified local path. The unpacker will wait until the file is downloaded before it continues with the next commands. You can specify the file address and the username and password to use when connecting. Use the following syntax: servername.com/path/filename.extension:username@password   (username and password are used to connect to the FTP server). For example: nkprods.com/nmacro/nmacro_setup.exe:admin@pass

  • Upload file to FTP – 

    This command will upload a local file to a FTP server . The unpacker will wait until the file is uploaded before it continues with the next commands. You can specify the file address and the username and password to use when connecting. Use the following syntax: servername.com/path/filename.extension:username@password   (username and password are used to connect to the FTP server). For example: nkprods.com/nmacro/nmacro_setup.exe:admin@pass

  • Send email – Send an email message to a specified email address. For the connection string you have to provide a SMTP server (that does not require TLS or SSL authentification), port number (usually 25), username, password, reply to address, destination(s) (can use multiple email addresses separated by a comma) all separated by the : character. All elements must be provided. nThe Syntax is:n SMTP_Server:Port_number:Username:Password:Reply_to:DestinationnExample for Yahoo: smtp.mail.yahoo.com:25:[email protected]:password:[email protected]:[email protected]. Example for gmx.com: mail.gmx.com:25:[email protected]:password:[email protected]:[email protected] The text specifies the body of the message. You can specify a subject by adding the characters @: after the subject.nExample: Subject@:Text

  • Open Address –

    This command is similar to the Execute Command. You can use it to open a Internet address in the default browser.

Files and Folders:

  • Create/Write File – This command will create a new file on your hard disk having the specified path, name and contents. If the file exists the data (text or keyword) will be written at the end (appended) of the file . You can specify the path and name in the first edit box and the contents of the new file in the second edit box. You can use special keywords like %DATE% and others in both edit boxes.
  • Read File – 

    This command will open a file and read the data (text) it contains into the

    %RESULT%

    keyword (that can later be used in other commands and Conditions. You can specify the file to read and how many characters to read from the file (in size). To read the entire file leave the edit box empty or 0. You can also specify the offset from which to begin reading. The syntax is offset:size. For example to read 10 characters beginning from the 15th character add in size: 15:10 or 5:0 to read all (remaining) characters from the offset 5. To read 5 characters beginning wit the first characters only enter 5.

  • Register DLL/ActiveX/OLE – This command uses system’s regsvr32.exe to register the specified .dll file, ActiveX file or OLE file. The registration is silent and doesn’t display any information in case of success or failure.
  • Delete Files/Folder – This command simply deletes the specified file or folder. You can use special keywords to specify relative paths and special folders.
  • Copy Files/Folder – Copies the specified file or folder from it’s location to the specified new location.
  • Move/Rename File/Folder –

    Move the specified file or folder from it’s location to the specified new location.

  • Create Folder – Creates a new folder (directory) having the specified name and path.

INI Files:

  • AddSet Value – Add, set or remove a new value in a .ini file. Specify the file, section and the key where you want the value added using the format: [section]key=value . Replace section, key and value with your text. If the value is empty (there is no value just [section]key= ) the key will be removed. If the key exists and the value is not empty the the value of the specified key will be modified. If the ini file, the section or the key don’t exist they will be created.

  • Remove Section –

    Remove a section and all its contents from a .ini file. Specify the file and the section name.

Registry:

  • AddSet Value – Create a new registry value having the specified value or change the value of an existing registry value. For example enter

    HKCUSoftwareMicrosoftWindowsCurrent VersionRunnMacro

    to add or modify the value named nMacro from the key Run the HKEY_CURRENT_USER.

  • Read Value – 

    Read the contents of the specified registry value into the 

    %RESULT% 

    keyword for future use in Commands and Conditions. You can also specify the size of the text you want to read (how many characters) or leave the size empty or 0 to read all the text. For example enter

    HKCUSoftwareMicrosoftWindowsCurrent VersionRunnMacro

    to read the data from the value named nMacro from the Run key in HKEY_CURRENT_USER and store the read data in

    %RESULT%

    .

  • Delete Value – Removes the specified registry value. For example enter

    HKCUSoftwareMicrosoftWindowsCurrent VersionRunnMacro

    to delete the value named nMacro from the Run key in HKEY_CURRENT_USER.

  • Add/Set Key – Creates a new registry key or modifies an existing registry key, also setting it’s default value. This value can be empty. For example enter

    Data:

    • Add/Set Keyword –

      This command will create a new keyword (variable) and set it’s value. You can also use it to set (change) the value of an existing, user created keyword.
      You cannot modify the values of default keywords (like

      %TIME%

      …), only of keywords you created/
      The name of a new keyword should not contain the

      %

      character. You can use created keywords in all commands and conditions by using

      %

      .
      Example:

      %MYKEYWORD%

      where

      MYKEYWORD

      is the name of the keyword you have created.

    • Calculate –

      This command will calcute a simple mathematical expression and store the result in the keyword

      %RESULT%

      . In the expression you can use numbers, operations (+ – * / ^ ( ) , .) and keywords. The entire expression can be a keyword or just be composed out of keywords. You can use integer numbers like 1 26 13 and so on, or float numbers like 1.2 or 45.12

      Supported operations are: + for sum, – for minus, * for multiply, / for division, ^ returns base raised to the exponent (power)

    • Copy to Clipboard –

      Copies the specified text (or keyword) to the clipboard. Works similar to the user selecting the text and pressing CTRL + V. You can get the copied text using paste (or CTRL+V) and nay application.

    • Connect to database – Connects to a database via a system data source or ADO/ODBC connection string. Accepts an ADO/ODBC connection string or system data source name. The connection string varies for each database server. For more information about connection string visit http://www.connectionstrings.com/. Example for MySQL (v5.1 with connector installed): DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=name;USER=root;PASSWORD=password;OPTION=3;

    • Execute SQL query – Executes an SQL command for the last connected database. The results of the command (if it is a query) are stored in %RESULT% keyword. Example: SELECT * FROM tablename

    For registry commands properties and conditions, use:

    HKCUword) to the clipboard. Works similar to the user selecting the text and pressing CTRL + V. You can get the copied text using paste (or CTRL+V) and nay application.

For registry commands properties and conditions, use:

HKCU for HKEY_CURRENT_USER

HKLM for HKEY_LOCAL_MACHINE

HKCR for HKEY_CLASSES_ROOT

NOTE: To edit a command or a control just click on it and edit the values in the Properties window. You can double click controls to add or edit it’s Conditions. You can also press F5 to Bind the project.

Controls and Conditions

Use controls and Conditions to create repetitive sequences (loops), to schedule events, to condition events and more. Controls are special commands that interact with the Command Que execution order. You can use controls to pause the execution, abort it, wait for a certain event to happen, or jump to a certain line in the project. For example to create a loop use a Jump to Line control and set the line number to a previous line in the Command que. You can use the Abort command to stop the execution if something is wrong with a value for example.  You can create a scheduled event by adding an Wait for control with unlimited wait time and as condition you can add a Date is… or a Time is… condition that will keep the project idle in the background until the date andor time are the same as the ones you have specified, at which moment it will continue executing the project.

Controls will be execute only if all or any set conditions are true or false. You can  select from the Properties window if you all or any conditions to be true or false by click on the blue text to toggle it’s value. You can add a control without any conditions, so that the control will be executed each time it is encountered in the project command que.

For demonstrations on how to use control and other nMacro features you can take a look at the examples found in the Examples folder in the installation folder.

Controls:

  • Jump to line – When this control is encountered in the project, the output file will jump back or forward to the specified line in the Command Que list (to the project item that has the specified line number). Please note that the counting begins from 0 so the first project line (item) has the number 0. In order for this command to work properly please specify a line value between 0 and the number of commands in the Command Que minus 1. 
  • Pause for – This control makes the project stop and wait at it’s line and wait for the specified number of seconds, only if the set conditions (for this control) are true (or false if selected).
  • Wait for – This control can be used for schedule purposes as it makes the project stop at it’s line and wait for the specified conditions to be true, testing them every 2 seconds. You can also specify a maximum wait time, which can be set to 0 (zero) for an unlimited wait. So when allany set conditions are true (or false) or after the maximum wait time (if not set to 0), the project will continue past this control. When this control is encountered, the output file (the project) will be blocked at the control’s line until all conditions are met or (if the maximum wait time is not 0) until the maximum wait time passes.
  • Abort if – This control will cause the project to end there, if allany set conditions are found to be truefalse. When aborted the output file will just close and no line after the Abort control line will be executed.

NOTE:

You can double click controls from the Command Que to set or edit their Conditions.

NOTE:

Controls with no Conditions set will be executed every time they are encountered in the Command Que.

NOTE:

Keywords can be used anywhere in nMacro. You can use them in the properties of commands, controls and conditions and they will be replace at runtime with the value they are storing.

Conditions:

Conditions are test that need to be true (or false) in order for the control associated with them to be executed. A control can contain one conditions, multiple conditions or no condition at all. If it contains no condition, the control will be executed every time it is encountered in the project with no test done.

Users have available for each control a set of 14 predefined Conditions from which they can choose.

  • Compare TextsKeywords – 

    This conditions compares two texts to see if they are the same. It returns true if the texts are identical and false otherwise. You can use keywords as values.The texts that it compare can also be keywords that will be replaced with the information they store.

  • Find in TextKeyword – 

    This conditions test to see if the second text is found in the first text. It returns true if the second text is a substring of the first and false otherwise. You can use keywords as values.

  • Folder exists – Tests to see if the specified folder (directory) exists. If the folder exists the condition is true.
  • Folder is empty – Tests to see if the specified folder (directory) contains no files or sub folders. If the folder is empty the condition is true.
  • File exists – Tests to see if the specified file exists at the specified path. If the file exists the condition is true.
  • File is empty – Tests to see if the specified file is empty, contains nothing. If the file is empty the condition is true.
  • File contains only – Test to see if the specified file contains only the specified text. If the file contains other text (other characters) than the specified ones the condition is false. The condition is true only if the specified file contains only the entered text. You can specify the offset from which to begin reading and the number of characters to read. To do this add : after the path to specify the offset from which to read. Add another : and specify how many characters to read from the file. For example D:text.txt:10:20 reads 20 characters from the 10th character in the file.
  • File contains also – Test to see if the specified file contains the entered text along other text, or if the file contains only the entered text. This condition is true if the file find the specified text in the contents of the file. You can specify the offset from which to begin reading and the number of characters to read. To do this add : after the path to specify the offset from which to read. Add another : and specify how many characters to read from the file. For example D:text.txt:10:20 reads 20 characters from the 10th character in the file.
  • Registry key exists – Test to see if the specified registry key exists in the Registry.
  • Registry entry exists – Test to see if the specified registry entry (value) exists in the Registry.
  • Registry KeyEntry contains – Test to see if the specified registry entry (value) contains the specified text only. This condition is true only if the entry contains only the entered text.
  • Window exists – Test to see if the specified window is opened. In order to find the window you must enter it’s exact title.
  • Window is active – Test to see if the specified window is opened and is active (has focus). In oTest to see if the date at runtime is the same with the specified date. If the dates are the same then this condition is true. To select a date you can use the calendar by pressing the calendar button. The format for the date is DD/MM/YY where D is the day, M is the month and Y is the year.
  • Time is – Test to see if the time at runtime is the same with the specified time. If the times are the same then this condition is true. The format for the date is HH:MM where H is the hour in 24h format and M is the minute.
  • Test to see if the specified key combination is presseed. Best used with the wait for control command to add hotkeys.

  • Windows is shutting down – Is true when the shutdown process has started. Best used with the wait for condition.

  • An error occured – Is true if an error has occured in one of the previously executed commands and conditions.

 You can specify if the controls should be executed when all the conditions are true or false, or when any condition is true or false. You can do this in the Properties window of any Control by clicking on the for the date is HH:MM where H is the hour in 24h format and M is the minute.

 You can specify if the controls should be executed when all the conditions are true or false, or when any condition is true or false. You can do this in the Properties window of any Control by clicking on the all text at the bottom to change it to any or by clicking on the true text at the bottom to change it to false and vice versa to change it back.

When the first text is any instead of all then the control will be executed when any of the specified conditions in the list is true or false (as set next). When the text is set to all then all conditions must be true or false for the control to be executed. If true is selected than allany conditions must be true for the control to be executed and vice versa for false.

If you have any questions or troubles with the options in nMacro you can post questions or any suggestion or idea you may have to www.NKProds.com/forum or you can contact us.

v2.0.2 – 09 December 2009 (maintenance update)

  • Fixed a crash when adding multiple Recordings in a certain order
  • Fixed a problem with the Wait For command not respecting the maximum wait time
  • Removed the message box from auto check for updates feature
  • Other small fixes

v2.0.1 – 01 November 2009 (maintenance update)

  • Added commands for database operations (Connect to database and Execute command)
  • Added Send email command
  • Added hotkey support by adding the Keys are pressed condition
  • Added error handling options
  • Added commands for database operations (Connect to database and Execute command)
  • Added Send email command
  • Added error handling options
  • Added commands to interact with .ini files
  • Added window commands (Move window and Resize window)
  • Added commands for Windows Services
  • Added new conditions (On error occured and Windows is shutting down)
  • Improved interaction with the Commands list Fixed adding more than one recordings in a project Lots of small fixes and improvements

v2.0 – 14 September 2008 (feature update)

  • Supports conditional run. Can now implement repetitive and conditional sequences using Controls and Conditions.
  • 5 control types that allow users to create loops and conditional sequences.
  • Over 40 powerful Commands that vary from registry and file functions to math and windows. 
  • Added option to take icon from exe, dlls and .ico files
  • Redesigned user interface.
  • Added support for projects that store all recordings, commands and controls.
  • Added command line commands for batch builds.
  • New license for nMacro oriented to company development (single developer license and company license)
  • Improved Check for Updates feature.
  • Reviewed code and improved speed, security and error handling, also increasing stability and reliability.
  • Lots more features and improvements…

v1.1 – 23 September 2006

  • new interface
  • fixed some recording and some display problems
  • updated interface and links

v1.0 – 05 June 2005

  • new interface
  • new option to show message before and after record play
  • new option to change and restore resolution
  • new option to add delay
  • new option to execute command before and after playback
  • improved protection

v0.8 – 10.05.2005

nMacro 2.0.2

Copyright NK Prods SRL 2009 Web: http://www.nkprods.com (EN) http://www.nkprods.com/forum (EN)

Contact: [email protected] [email protected]

NK PRODS SRL will be referred to in this documents as NKProds and NKPRODS.
The software nMacro /nMacro PRO / nMacro limited will be referred to in this document as nMacro, „this software“, „the software“, „nMacro“ and „NMACRO“.

Use this software on your own risk. The author is not responsible for any damage of any kind produced to users and to any computer. The author is not responsible for any damage of any kind produced by files or other data created with this software.

YOU ARE NOT ALLOWED TO USE NMACRO FOR ANY COMMERCIAL PURPOSE OF ANY WAY, UNLESS YOU OWN A COMPANY LICENSE PURCHASED BY YOURSELF OR YOUR COMPANY / BOSS / ASSOCIATE. YOU ARE NOT ALLOWED TO USE NMACRO IF YOU DON’T AGREE AND ACCEPT THIS DISCLAIMER / LICENSE.

NOTE: NMACRO MAY CONNECT FROM TIME TO TIME THROUGH THE INTERNET (ONLY ON USER REQUEST) TO WWW.NKPRODS.COM TO CHECK FOR UPDATES. DURING THIS PROCESS IT WILL DOWNLOAD A SMALL FILE THAT CONTAINS THE NUMBER OF THE LATEST VERSION AVAILABLE ON THE INTERNET TO CHECK IF THE VERSION AVAILABLE ON THE INTERNET IS NEWER THAN THE VERSION INSTALLED ON THE USER’S COMPUTER. NMACRO WILL NOT SEND ANY DATA FROM THE USER’S COMPUTER.

NKPRODS IS WILLING TO LICENSE THE ENCLOSED SOFTWARE (AS WELL AS UPDATES NKPRODS MAY FURNISH YOU FROM TIME TO TIME) AND DOCUMENTATION (THE “ SOFTWARE „) TO YOU (“ YOU „) ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS SOFTWARE LICENSE AGREEMENT (THE “ AGREEMENT „). IF YOU ARE AN EMPLOYEE OR AGENT OF A COMPANY (THE “ COMPANY „) AND ARE ENTERING INTO THIS AGREEMENT TO OBTAIN THE SOFTWARE FOR USE BY THE COMPANY FOR ITS OWN BUSINESS PURPOSES, YOU HEREBY AGREE THAT YOU ENTER INTO THIS AGREEMENT ON BEHALF OF THE COMPANY AND THAT YOU HAVE THE AUTHORITY TO BIND THE COMPANY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.

USE THIS SOFTWARE ON YOUR OWN RISK. THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE OF ANY KIND PRODUCED TO THE USERS AND/OR THEIR COMPUTERS AND SYSTEM OR TO OTHER COMPUTERS AND SYSTEMS. THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE OF ANY KIND PRODUCED BY THIS SOFTWARE AND IT’S USE.

LICENSE . Subject to the terms and conditions of this Agreement, NKProds hereby grants You a limited, non-exclusive, personal license to install, perform and use the Software, in machine-readable form only, solely for Your own personal or internal business use on a single computer in accordance with the instructions, specifications and documentation provided with the Software. You may make one (1) copy of the Software only for backup and archival purposes (if you own a single user license from NKProds) or multiple copies for your employees (if you own a company license from NKPRODS) , provided that You reproduce all copyright and other proprietary notices that are on the original copy of the Software and agree and respect this license agreement and the license type that you have purchased from NKPRODS, as described here: www.nkprods.com/buy/ and below.

This software is not free. This software is not freeware, this software is shareware. In order to use this software in commercial purposes or in any other activity that implies profit of any kind you must first buy a company license from NKProds.
To buy a license for this software you must go to www.nkprods.com/buy/. Licenses bought from anywhere else are not valid and are illegal.

You are NOT allowed to install and use this software („nMacro“) unless you have bought a license from NKProds.

If you have a license make sure you have the license that is right for you. There are 2 types of licenses available. The single user license allows only one user, the user that has bought the license, to use nMacro PRO. Buy a single user license if you are the only person that will use the product (nMacro PRO). The second license available is the company license that allows more than one users to use the product (nMacro PRO) as long as they are all employees of the company that has bought the license for the product (nMacro PRO).

This software is meant only for educational and utility purposes like binding your resource files to your executable.
You are not allowed to use this software for any kind of illegal purposes like binding viruses or other mallwares like creating mallware and other illegal purposes. We are not responsible for any type of files or other data created using nMacro. We are not responsible for any damage of any kind produced or determined in any way by any type of files or other data created with nMacro.

You may not modify, rent, sell or transfer any part of the Software except as provided in this Agreement, and you agree to prevent unauthorized copying of the Software. You may not reverse engineer, disassemble, decompile, or translate the Software.

You may not sublicense or permit simultaneous use of the Software by more than one user unless you have bought a valid company license from NKPRODS.

YOU CAN USE THIS SOFTWARE TO CREATE COMERCIAL APPLICATIONS ONLY IF YOU HAVE BOUGHT A LICENSE OF THIS SOFTWARE AND YOU ARE NOT USING THIS SOFTWARE AS LIMITED AND HAVE BOUGHT THE PRO VERSION FROM NKPRODS.
YOU CAN MAKE COPIES OF THIS SOFTWARE ONLY IF YOU HAVE BOUGHT AND YOU OWN A COMPANY LICENSE FROM NKPRODS. YOU CAN ONLY SHARE COPIES WITH EMPLOIEES OF THE COMPANY THAT YOU REPRESENTED WHEN YOU BOUGHT A COMPANY LICENSE FROM NKPRODS. YOU ARE NOT ALLOWED TO DISTRIBUTE THIS SOFTWARE THROUGH THE INTERNET. YOU CAN DISTRIBUTE THIS SOFTWARE ONLY BY INTRANET OR ANY OTHER TYPE OF LOCAL NETWORK.

OWNERSHIP OF SOFTWARE AND COPYRIGHTS.

Title to all copies of the Software remains with NKPRODS. The Software is copyrighted and protected by the laws of the Romanian country and other countries, and international treaty provisions. You may not remove any copyright notices from the Software. The author may make changes to the Software, or to items referenced therein, at any time without notice, but is not obligated to support or update the Software. Except as otherwise expressly provided, The author grants no express or implied right under The author’s patents, copyrights, trademarks, or other intellectual property rights.

EXCLUSION OF WARRANTIES. THE SOFTWARE IS PROVIDED „AS IS“ WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.

LIMITATION OF LIABILITY. IN NO EVENT SHALL THE AUTHOR OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION.

* LICENSE . Subject to the terms and conditions of this Agreement, NKProds hereby grants You a limited, non-exclusive, personal license to install, perform and use the Software, in machine-readable form only, solely for Your own personal or internal business use on a single computer in accordance with the instructions, specifications and documentation provided with the Software. You may make one (1) copy of the Software only for backup and archival purposes, provided that You reproduce all copyright and other proprietary notices that are on the original copy of the Software.

* RESTRICTIONS . You may not use or copy the Software, or any copy thereof, in whole or in part, except as expressly provided in this Agreement. You may not modify, reproduce, create derivative works of, distribute, sell, resell, lend, loan, lease, license, sublicense or transfer (except as expressly provided herein) the Software or any portion thereof. You may not reverse engineer, disassemble, decompile, or translate the Software, or otherwise attempt to derive the source code of the Software, or authorize any third party to do any of the foregoing, except to the extent allowed under any applicable law. The Software contains trade secrets, trademarks, patents, and copyrights owned by NKProds, and You shall maintain the Software in confidence. You shall not allow any access to or use of the Software by anyone other than You, or Your employees or agents, and any such use must be consistent with the terms, conditions and restrictions set forth in this Agreement. You may not transfer the limited license granted to anyone andor anything. You will allow accesss to Your employees or agents only if you have a company license bought from NKProds. It is forbidden to use nMacro PRO if you haven’t bought a license for nMacro PRO or if a representative of the company where you are employed hasn’t bought a company license for nMacro PRO from www.nkprods.com/buy/. It is forbidden to use nMacro PRO if nMacro PRO has been registered using a single user license that has been bought by someone else and not by you.

If you have bought a single user license it is forbidden to use nMacro PRO to gain any kind of profit for or from any organization, company or any other type of association, composed or represented by more that a single (1) person.

* LICENSE FEES . You are responsible for paying BNKProds or the authorized reseler from whom you purchased the Software, the specified fees, and applicable taxes, for the license of the Software.

* OWNERSHIP . The Software is licensed, not sold, to You for Your use only under the terms of this Agreement, and NKProds reserve all rights not expressly granted to You. You own the media, if any, on which the Software is recorded, but NKProds retains ownership of all copies of the Software („nMacro“) itself.

* UPDATES/SUPPORT . From time to time, NKProds may make new releases, revisions or enhancement to the Software (“ Updates „) available to You. Your purchase must be recorded with NKProds either through product registration or a direct purchase through www.nkprods.com for You to be notified of Updates.
NKProds may send YOU emails notifing you of offers, updates, new version and so on.

* TERM/TERMINATION . The Agreement becomes effective when You agree to the terms and conditions of this Agreement by opening, installing, using, accessing or manipulating the Software (the “ Effective Date „), and this Agreement will terminate immediately upon notice to You if You materially breach any term or condition of this Agreement. You agree upon termination to promptly destroy the Software and all copies thereof.

* LIMITED. If you are using the Software in LIMITED mode (if you are using the Limited version), and are authorized to do so, then You shall have a license under this Agreement to use the Software for the specified activities and purposes indicated in the materials accompany the Software („nMacro LIMITED“) and in the documents on www.nkprods.com , solely for the purpose of evaluating the Software to determine whether to purchase an ongoing license to the Software. While using nMacro LIMITED, the Software is provided to You „as is“ and Your use is entirely at Your own risk. Also during this time you are not allowed to use the LIMITED version in any commercial purposes.

* WARRANTY DISCLAIMER . THE SOFTWARE IS PROVIDED TO YOU „AS IS“ AND NKPRODS AND ITS SUPPLIERS AND LICENSORS EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES AND REPRESENTATIONS OF ANY KIND WITH REGARD TO ANY SUBJECT MATTER OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF NON-INFRINGEMENT, TITLE, FITNESS FOR A PARTICULAR PURPOSE, FUNCTIONALITY OR MERCHANTILIABILITY, WHETHER EXPRESS, IMPLIED OR STATUTORY. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY NKPRODS, DISTRIBUTORS, DEALERS, OR AGENTS SHALL INCREASE THE SCOPE OF THE ABOVE WARRANTIES OR CREATE ANY NEW WARRANTIES .

* LIMITATION OF REMEDIES . REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS ESSENTIAL PURPOSE OR OTHERWISE, IN NO EVENT WILL NKPRODS OR ITS SUPPLIERS AND ASSOCIATES BE LIABLE TO YOU OR TO ANY THIRD PARTY FOR ANY LOST PROFITS, LOST DATA, INTERRUPTION OF BUSINESS, OR OTHER SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE OR ANY DATA SUPPLIED THEREWITH, EVEN IF NKPRODS OR IT’S ASSOCIATES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES AND WHETHER OR NOT SUCH LOSS OR DAMAGES ARE FORESEEABLE. IN NO EVENT SHALL THE LIABILITY OF NKPRODS EXCEED THE TOTAL AMOUNT RECEIVED BY NKPRODS FROM YOU UNDER THIS AGREEMENT .

* FOR nMacro ® SOFTWARE ONLY: YOUR ACKNOWLEDGMENTS. The nMacro Software includes features that enable users to create or hide software that can do damage on systems and users. The authors of nMacro’s are not responsible in any way for any data (files, code, software etc.) created using nMacro.

* HIGH RISK ACTIVITY . You acknowledge and agree that the Software is not intended for use with any high risk or strict liability activity, including, without limitation, air or space travel, technical building or structural design, power plant design or operation, life support or emergency medical operations or uses, and that NKProd makes no warranty and shall have no liability arising from any use of the Software in any high risk or strict liability activities.

NOTE: THE ICONS IN THIS SOFTWARE DO NOT BELONG TO NKPRODS. THEY BELONG TO THEIR CREATORS OR OWNERS.