Extensible Tray Manager

Extremely customizable tray manager for processes, services, etc. Every kind of things you want from tray manager can be realized via plugin system. Seems like a primitive thing, yeah? But when I had to launch and stop three MySql services with two Apache servers (for testing purposes), it turened out that the software, only being able to launch MySql servers with parametrs from tray - really simple application - costs 10$. It’s not that I’m so greedy - but I just didn’t understand, what I needed to pay for. So, I wrote my own tray manager - firstly on Delphi, then on Visual C++. In addition to launching with specified parameters, stopping, restarting and managing any application or service I alredy made some extra plugins:)


  1. Friendly interface setup;


  1. Plugin choise;


  1. Individual plugin setup

[plugin_doc[1]](https://jehy.ru/articles/wp-content/uploads//plugin_doc1.gif)4. Application tray launch;


  1. Endless recursive menus;


  1. Plugins can be created as DLL libraries. They even can interact with each other, using Windows Events model. All plugins can work in Debug mode (constantly showing diagnostic messages) and in silient mode. If you wish, you can even set it up so that program will not be shown in tray and will work like a driver…

Stable plugins:

  1. Program launch with different parameters (ShellExecute realization);
  2. Service management (launch, launch with parameters, stop, restart);
  3. Work with multimedia devices (for example,in my case I made a pedal for Canon camera from a simple joystick;
  4. Emulation of mouse click on element on form (If form is hidden somewhere and you want to press it via tray menu or multimedia device button).

Features that I wanted to implement but abandoned the project:

  1. Plugin, optimized for work with MySQL and Apache;
  2. Functions for settings changing (curently, only the first plugin setup can be made via interface, all other setup is made manually in XML settings file;


GitHub repo