Skip to content

Repository files navigation

Delphi Shell Extensions License

Latest Version 1.0.1 - 03 Sep 2026

A useful Template to build a Delphi Shell Extension to have:

  • A Preview handler which allows you to see the SVG image and text without open it, in the "Preview Panel".

  • A Thumbnail handler which allows you to see the SVG image into Windows Explorer.

Features

  • Supports Windows Vista, 7, 8, 10 and 11 (for 32 bits and 64 bits).

  • Themes (Dark and Light) according to user preferences of Windows Theme

Build and Installation (for Delphi developers)

If you have Delphi 10.4 Sydney or Delphi 11.0 Alexandria, you can manually build the project:

To manually install the DelphiShellExtensions.dll follow these steps:

  1. Close all the windows explorer instances which have the preview handler active or the preview handler was used (remember the dll remains in memory until the windows explorer was closed).

  2. Upgrade the code according to your preferences searching "TODO" and "My" keyword in all files of the project

  3. Be careful of the GUID that you assign to your Extensions

  4. To install manually the dll run the Unregister_Register.cmd (run-as-administrator).

  5. When it's registered, you can continue to change code and rebuild the dll (beware to close all Explorer instances).

Release Notes

03 Sep 2026: ver. 1.0.1

  • Ported all the fixes made on the projects derived from this template (Markdown and SVG Editor and Shell Extensions), so that a new project started from here does not inherit known defects:
    • Thumbnail provider: the bitmap handle is transferred to the shell instead of being destroyed together with the bitmap, which leaked a GDI handle for every thumbnail.
    • Preview handler: layout uses the rectangle supplied by the host, as the IPreviewHandler contract requires, and the content is laid out again when the DPI changes. This fixes the wrong margins on high-DPI and multi-monitor setups.
    • Shared resources are now a single data module created on demand, instead of one per preview.
    • Registry keys are opened read-only where only reading is needed.
    • The exception log can be disabled at compile time, and its file name matches the project.
  • The Issues button uses its own GITHUB_URL constant, deliberately kept distinct from HELP_URL, which is the documentation site.
  • The DLL now reports its version: the numeric VERSIONINFO fields were missing, so the binary version was 0.0.0.0 while the version string said 1.0.0.0.

1 Nov 2022: ver. 1.0.0

  • Template with example of view of .xxx text files

Credits

Many thanks to Rodrigo Ruz V. (author of theroadtodelphi.com Blog) for his wonderful work on delphi-preview-handler from which this project has used a lot of code and inspiration.

License

Licensed under the Apache License, Version 2.0 (the "License"); Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Delphi 11 Alexandria Support

Related links: embarcadero.com - learndelphi.org

About

A useful Template to build a Delphi Shell Extension

Resources

Stars

14 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages