For this example, we will be building an add-on for Notepad. We will be able to create a RDM Notepad session that can load a txt file each time this session is called.

An add-on is only a simple library (.dll) loaded dynamically by the application

This example is only for executing an external process.

Tutorials (Session add-on)

Each part of the source code is well documented to help you create your add-on easily.

For an external process:

  1. Prepare the project

    1. Download the template "MyFirstAddOn" and unzip it in a new folder. Download "MyFirstAddOn"

    2. Before opening it in Visual Studio, execute a "Replace in files" of the "MyFirst" segment with your new name in the project folder. Rename all files accordingly to the new name.

    3. Copy "RemoteDesktopManager.exe" from your installed version to your "bin\debug" directory.

    4. Open the newly created project.

  2. Debug the add-on

    To be able to debug your add-on, go in the menu Project-> Edit "<New AddOn name>" Properties and in the Debug tab page;

    • Set the Start Action to "Start external program".

    • Set the path value to the executable of RDM in your "bin\debug" directory.

    • Set also the "Working directory" to the same folder.

  3. Setup the add-on images

    The AddOn directory contains two .png files. These files are used as icons for your add-on. It’s possible to customize those icons and replace them by something with the same size (16x16 and 32x32 pixels).

  4. Develop the add-on configuration structure

    • RDM contains a mechanism to save and load a configuration. Usually it saved in XML.
    • Open "YourAddOnNameConfiguration.cs" and declare the parameters needed for the execution of your process.

    For example:

    public bool ShowMaximized 
    {
        get;
        set;
    }
    
    public string FileName 
    {
        get;
        set;
    }
                    

    Those are C# automatic properties that will be handled by save and restore procedures of RDM. You can add as many as you need.

  5. Develop the add-on configuration window

    • Open the file "YourAddOnNameEditor.cs"
    • The two example parameters are there too. You just have to follow the same way to edit and update yours in LoadInControls and SaveFromControls methods.
    • Other methods are documented in the source code.
    • You can add any logic that you need in this form to enter and validate the required information.
  6. Implements the Add-on execution

    Open the file "YourAddOnNameAddOn.cs"

    Set the default constant values

    • APPLICATION_DEFAULT_PATH
    • APPLICATION_EXECUTABLE
    • APPLICATION_NAME
    • ADDON_ID

    Don’t forget that this example launch Notepad by default.

    VERY IMPORTANT the ADDON_ID must be set to a new GUID.

    A way to obtain one is via the web site http://www.get-a-guid.com/

    The most important method in this class is ConnectExternal. You must set the arguments string to the values needed by your program. It is simply the command line arguments.

    You can experiment with the other properties and see what happen.

    Compile, execute and enjoy...

    When everything works fine, copy the new library into the installation directory of RDM. RDM detect and load all the Add-ons available in his folder at the application startup.