Giter Site home page Giter Site logo

apriorit / iconoverlayhandler Goto Github PK

View Code? Open in Web Editor NEW
26.0 5.0 7.0 23 KB

Windows shell extention including shortcut menu and icon overlay handlers to add custom file type processing to Explorer

License: MIT License

C++ 96.47% C 3.53%
windows shell-extension custom-icon

iconoverlayhandler's Introduction

Shell Extention Handlers for Shortcut Menu and Icon Overlay

About

The project is a custom shell extension including shortcut menu and icon overlay handlers.

Shell extension handlers are used to extend a set of Windows Explorer standard actions, typically to ensure correct work with special file types. With shortcut menu handler we add new custom items to the context menu, and with icon handler we change (overlay) the default icon of the file.

Implementation

Shell extension is a COM object with its own GUID. Several standard and specific interfaces are implemented for it.

The provided solution deals with a number of typical problems:

  1. Displaying custom icons when a lot of other icon overlay handlers are registered
  2. Correct displaying of custom icons with the transparent background
  3. Correct work of context menu handler in specific situations.

You can get more details, shell extension implementation basics, and problem situation explanations in the related article.

License

Licensed under the MIT license. © Apriorit.

iconoverlayhandler's People

Contributors

sergiusthebest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

iconoverlayhandler's Issues

there may be a typo

wrong:
STDMETHODIMP OverlayIconExt::GetPriority(int* pPriority) { if(*pPriority) { return E_INVALIDARG; }

correct:
STDMETHODIMP OverlayIconExt::GetPriority(int* pPriority) { if(!pPriority) { return E_INVALIDARG; }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.