How to create a shell extension

The Shell Ace library includes a plug-in for the Delphi integrated development environment that allows you to quickly create shell extension project templates. The plug-in is integrated into the dialog box that appears when you select the New\Other command on the File menu. This dialog box looks different in different Delphi versions, but the principle is the same – the additional Shell extension tab appears.

On the source code level, a shell extension is a dll library project and one or several modules with actual handlers in them. To create a new project, select the New\Other item on the File menu. You should select the Project item on the Shell extension tab in the new dialog box.

Create Windows shell extension

In this case, a new project with the predefined set of exported functions will be automatically created in the Delphi environment:

After that, you should use the same Shell extension tab to select the necessary handlers that will implement the necessary functionality. For instance, if you select the InfoTip handler item, the module with the framework of this handler will be added. Any number of handlers can be added to the project.

Create info tip handler

Starting from Delphi version XE3, the created project will be compiled to a file with the name that depends on the selected platform. If the Win32 platform is selected, the name of the compiled file will be project.32.dll, and if the Win64 platform is selected, the name of the compiled file will be project.64.dll. You can disable this behavior by changing the Target file extension option in the dialog box with the project properties.

See also: