Creating Volumouse Plugins
If you're a C++ programmer, and you want to add new components into Volumouse utility (In addition to the built-in Volume/Window Transparency/Screen Brightness components), you can do that by creating a Volumouse plugin.

Start with a simple example

The best way to start develop your own plugin, is by using the 'VoluSample' sample plugin. VoluSample is a simple plugin that add 2 new components to Volumouse: 'Desktop Color' and 'Window Color'.
You can download this sample from here. This zip file contains the sample in 2 formats - one for Visual C++ 6.0 and the other for Visual Studio 2005.

General guidelines for Volumouse plugins

  • A plugin of Volumouse is a simple dll that must have the following entry point function:
    INT_PTR WINAPI VolumousePluginProc(VOLUMOUSE_PLUGIN_EVENT *pEvent)
    {
    
    }
    
  • This function must be exported as 'VolumousePluginProc', without c++ name mangling You can do that, by adding VolumousePluginProc to the exports section of the .DEF file.
  • VolumousePluginProc function is called by Volumouse each time that event is occurred. Currently, there are 4 types of events:
    • VOLUPLUGIN_EVENT_LOAD - This event is fired when the plugin is loaded into Volumouse. You must provide the name of your plugin when this event is called.
    • VOLUPLUGIN_EVENT_ADD_COMPONENTS - When this event is fired, you should provide your components list.
    • VOLUPLUGIN_EVENT_USER_ACTION - called when the user moves the mouse wheel or press the appropriate hot keys, according to the defined rules in Volumouse.
    • VOLUPLUGIN_EVENT_UNLOAD - called when the plugin is unloaded.
    You can find more information about these events in the VolumousePlugin.h header file provided with VoluSample. More events may be added in future versions of Volumouse.
  • When an event is handled, you should return TRUE value. otherwise, you should return a FALSE value.
  • Any string that you pass to pEvent parameter must be global. You should not pass a string from your local stack. If you do that, Volumouse may crash.
  • In order to activate the plugin, you should change the file extension from .dll to .vpl (Volumouse Plugin Library) and drop it into the folder of Volumouse. Volumouse load all plugin files with .vpl extension each time that it starts. If Volumouse is already loaded in your computer, you must exit from Volumouse and then run it again.