Windows supports a total of seven shell extensions,
They are:
Copy hook Handler)
Context Menu Handler)
Drap-and-drop Handler)
Icon Handler)
Property sheet Handler)
Drop target Handler)
Data Object Handler)
The copy hook handler is a simple shell extension that allows or does not allow users to move, copy, delete, or rename a file object in windows.
You can use the context menu handler to modify the context menu content in Windows Shell. The context menu is a pop-up menu that is displayed when you click or drag an object with the right-click button 2. Without extension, Windows only contains commands applicable to the clicked or dragged objects in the context menu.
The drag-and-drop handler actually processes context-related menus. When you drag an object to a new location and put it down, the system will call them.
The property table handler also involves context-related menus. Most context-related menus contain a Properties command. Selecting this command will display the Attribute Table of the selected object. An Attribute Table consists of overlapping windows called tabs (pages) that contain information about an object. The Attribute Table handler is used to add custom tabs to the System-defined attribute tables, or replace some pages in the Attribute Table of the Control Panel application.
The icon handler manages icons that represent file objects. In Shell namespace, the system uses icons to represent files. By default, the system uses the same icon for files with the same extension. The icon handler can invalidate this default setting and set different icons for any specific object of interest. Of course, it can also add icons that are different from the default values of the system to all files of the same class.
Data processing programs work when system objects are dragged. They provide idataobject interfaces that can be passed to the OLE dodragdrop function.
The placement handler is also related to the drag and drop support of the system. It can add certain types of drag actions to files that can receive drag and drop objects.
Based on their functions, these seven shell extensions can be divided into two groups, the first group of extensions include context-related menu handlers, icon handlers, data handlers, Attribute Table handlers, and placement handlers that can be used for each type of file. The second group of shell extensions is associated with system file operations (such as moving, copying, renaming, etc.), including copying hook handlers and drag-and-drop handlers.