Main Window

This chapter will discuss the features of the Shell Extension Composer and furthermore it gives some base instructions of how to create and modify Shell Extensions. But beforehand a closer look at the application’s main window will be a good idea. See following figure.

Shell Extension Composer's main window.

As shown in figure above the Shell Extension Composer’s application window consists of two main areas, the General group box and the Menu Items list. The description for both can be found later on in this chapter. Note that the details for the application’s Toolbar are available in an extra sub–chapter and can be found here.

Create Shell Extensions

Once the Shell Extension Composer has started it shows an empty “project”. Now to create a Shell Extension toolbar button [New] needs to be clicked only once. The keyboard shortcut CTRL+INS can be used alternatively. As next the Shell Extension’s name has to be changed from its default value (Mandatory) into for example a product’s name. Keep in mind this name is used to identify this Shell Extension within the Windows Registry.

Thereafter, toolbar button [New] needs to be clicked again to create the first menu item. The keyboard shortcut INS can be used instead. Then it is necessary to modify this menu item accordingly. To edit a menu item select it from the Menu Items list and click toolbar button [Edit]. Keyboard shortcut ENTER can be used alternatively. Mouse double–click onto that menu item is possible too. See also chapter Menu Item Editor.

To add a second Shell Extension it is necessary to open the drop–down menu belonging to toolbar button [New] and then to select entry Extension. The keyboard shortcut CTRL+INS can be used alternatively. Now proceed with adding and modifying the menu items.

Menu Test

Testing the menu configuration is always a good idea. For this purpose the Shell Extension Composer provides a special button at the Menu Items list’s right upper corner. It would be recommended to test a menu configuration before installing it on the system.

Button to test current menu. Based on current menu item configuration this button creates and shows a context menu example. But keep in mind that the displayed context menu does not have any kind of functionality except its visualization.

Additionally, please note that the shown menu does not support all features that are available in the Windows Explorer’s context menu! For example, duplicate separators are not filtered in the test menu but in the Windows Explorer’s context menu. Further, enabling or disabling of menu items according to the respective Multi Select option is also not supported.

General Group Box

The group box General provides mandatory and optional information needed to characterize a specific Shell Extension. These information can be modified right here. See following figure for more details.

Shell Extension Composer's main window.

Class ID This combo box allows selecting a Shell Extension for modification from a given configuration. As already mentioned in chapter Configuration File the PlexData Shell Extension application is able to manage more than one Shell Extension per configuration file and each of them is included in this combo box.
Button to renew the class ID. This button enables uses to renew an existing class ID. But keep in mind that re–assigning the GUID of an existing Shell Extension which is already installed on a different system could cause problems with that previous version because the GUID identifies a specific Shell Extension uniquely!
Button to take over a class ID as name. This button allows a transfer of current GUID as Shell Extension’s name. See also description of field Name for some additional requirements.
Name This edit box allows users to specify a Shell Extension’s name. Please note that this name should be unique in the list of installed context menus because otherwise it causes conflicts with other installed Shell Extensions. See following figure to get an impression of what is meant.
Shell Extension's name in the Windows Registry.
Furthermore, this text box is initialized with value (Mandatory) by default which indicates that the Shell Extension’s name is required and therefore it has to be set!
Description This multi–line text box enables users to provide additional information and it should be used to leave a meaningful description about this Shell Extension which could be helpful in the future. The description parameter is optional and thus empty by default. But note that the Shell Extension’s core binary file will replace an empty description by a default description during an installation.
Locations Basically, Shell Extensions are designed for specific Windows Explorer object types. This means that a particular Shell Extension needs to be assigned to its special object type. This assignment can be accomplished with the check boxes available right here.
Files This check box associates the Shell Extension with file objects. This means that the included context menu is available only if a user right–clicks on files.
Folders This check box associates the Shell Extension with directory objects. This means that the included context menu is available only if a user right–clicks on folder entries.
Drives This check box associates the Shell Extension with drive objects. This means that the included context menu is available only if a user right–clicks on drive entries.
If none of the above check boxes is activated then the Shell Extension’s default association takes place which means that this Shell Extension is associated with file objects only! This is equivalent to activating the check box Files. Supporting more of the general Windows Explorer object types is planed for the future.

Menu Items List

The Menu Items list provides an overview about the configured sub–menu items and in addition, it is of course possible to add, to modify and to delete such menu items. To perform these basic operations this list control provides several keyboard shortcuts. Furthermore, for users who don’t like to learn the shortcuts it is also possible to use clickable buttons. These buttons are exposed through the Toolbar in the application’s main window and in the Menu Item Editor dialog box through additional buttons below the list control.

But not only basic operations are available because users are also able to reorder the existing menu items. To do this, the list component provides two spin buttons above it, right next to the label Menu Items. For more details see also figure below. To change a list item’s position simply select it and then click one of the spin buttons. And of course, keyboard shortcuts are also available.

Last but not least the Menu Items list can be customized too. This means that a user is able to resize, to reorder and to show or hide the columns. Resizing a column is pretty easy because the only thing to do is to move the mouse pointer onto a column’s splitter, then to press and hold the left mouse button, now to drag the mouse left or right until the column got its new width and to release the mouse button. Reordering columns is also quite easy because the mouse only needs to be moved in the middle of the respective column, then to press and hold the left mouse button, now to drag the mouse left or right until the column got its new location and to release the mouse button.

Hiding or showing columns is not so easy because users have to know about the existence of a context menu to be used! To open this context menu the mouse pointer needs to be moved anywhere onto the list header and then the right mouse button has to be pressed. Thereafter, hiding and showing becomes easy. To hide a visible column in that context menu simply click the respective column header name and the corresponding column disappears immediately. To show an invisible column proceed in the same way as above but now select one of not checked column header names and then the column appears either as last the one or left to the column that has been clicked to open the context menu. See also following figure.

Shell Extension Composer's main window.

Please note that all changes on the Menu Items list’s layout are saved as application settings. This means that they will be restored when the Shell Extension Composer starts again. If a user wants to use the default setting then the program’s configuration file needs to be deleted. See chapter Factory Settings for more details.

Copyright © plexdata.de