The Shell Extension Composer represents the user interface of the PlexData Shell Extension application. It is the major component to setup own Shell Extensions whereas the dynamic link library belonging to this application is responsible to provide the Windows Explorer with the information needed to display a context menu at runtime. Basically, it would be possible to create Shell Extension configurations required for installation “by hand”. But this would not be recommendable!
This chapter provides additional and important information about conditions and limitations that should be noted beforehand. Thereafter, the information about usage and handling the Shell Extension Composer’s user interface can be found in the following sub–chapters.
In this section it will be explained which conditions has to be fulfilled by a menu item entry to become a Menu Item used by the PlexData Shell Extension. Be aware that these conditions strongly depend on a menu item entry’s type!
The conditions which are needed to define a separator are very simple because nothing is required, except the information that this menu item shall act as a menu item separator. For this purpose, the PlexData Shell Extension uses the pre–defined statement (Separator). See also chapter Menu Item Editor for more information about configuring menu item entries as separator.
Menu items consisting at least of a display text and a program’s full qualified filename to be executed! Furthermore, such a program needs additional parameters, which then should be defined too. Additionally, a menu item can have an icon used to decorate it and of course a help string for a better user convenience. See also following overview for a complete list of requirements.
| Mandatory | Optionally | |
|---|---|---|
| Label | YES | no |
| Executable | YES | no |
| Parameter | no | YES |
| Help String | no | YES |
| Icon File | no | YES |
| Menu Items | no | YES |
Popup menus consisting of a display text and at least of one sub–menu item! Additionally, a popup menu item can have an icon used to decorate it. Unfortunately, help strings will not be supported for popup menus because the Windows Explorer does not ask for. See overview below for a complete list of requirements.
| Mandatory | Optionally | |
|---|---|---|
| Label | YES | no |
| Executable | — | — |
| Parameter | — | — |
| Help String | — | — |
| Icon File | no | YES |
| Menu Items | YES | no |
Shell Extension configurations are considered as invalid either if a Shell Extension entry does not consist of at least one menu item or if the identifier (Mandatory) can be found anywhere within the configuration. Furthermore, an entry of type Menu Item must have a non–empty label and a non–empty executable filename too. In case of an item of type Popup Menu a non–empty label and at least one sub–item is required. For a separator the only requirement is that its label needs to be set to the pre–defined statement (Separator). Otherwise, a Shell Extension configuration is considered as valid!
Shell Extension configurations created by the Shell Extension Composer are put into an XML file. In general, such a configuration file consists of a list of Shell Extension entries and each of them consists in turn of a unique identifier called GUID, a unique name (and more) and the list of menu items. Note that such a GUID characterizes a particular Shell Extension! Furthermore, each menu item consists in turn of a label and an executable file (and more) or in case of a popup menu of the list of sub–menu items.
This concept allows the configuration of several Shell Extensions per file with multiple menus per extension and also with multiple sub–menus per menu. Therefore, it becomes possible to create recursive menu structures! See the sample file to get an impression of what is meant in detail.
For a better user convenience the Shell Extension Composer manages various user interface settings. For example the main window’s size and location, the toolbar’s chosen display state or the order, width and visibility of the menu item list’s columns. All these settings are set as “persistent” and will be put into a configuration file when the main window closes. Next time the composer starts, it restores its settings to present the user interface as it has been left. But sometimes it could be helpful to restore the Shell Extension Composer’s default settings. This can be accomplished easily just by deleting the configuration file. See following steps.
Copyright © plexdata.de