Skip to content

Latest commit

 

History

History
116 lines (83 loc) · 9.67 KB

README.md

File metadata and controls

116 lines (83 loc) · 9.67 KB

The Windows UI provides users with access to a wide variety of objects necessary for running applications and managing the operating system. The Shell organizes these objects into a hierarchical namespace and provides users and applications with a consistent and efficient way to access and manage objects.

The most numerous and familiar of these objects are the folders and files that reside on computer disk drives. However, there are a number of situations where storing data as a collection of file-system folders and files might be undesirable or even impossible. Some examples of this type of data include:

  • A collection of items that is most effectively packaged in a single file, such as a database.
  • A collection of items that is most effectively stored in different locations, such as the Recycle Bin.
  • A collection of items stored on a remote computer that does not have a standard Windows file system. An example of such data is the information stored on a personal digital assistant (PDA) or digital camera.
  • A collection of items that does not represent stored data. An example of such data is the printer links contained by the standard Printers folder.

The Shell namespace organizes the file system and other objects managed by the Shell into a single tree-structured hierarchy. Conceptually, it is a larger and more inclusive version of the file system.

Like the file system, the namespace includes two basic types of object: folders and files. Within a folder, each object has an item ID (SHITEMID), which is the functional equivalent of a file or folder name. The item ID is rarely used by itself. Normally, it is part of an item ID list (ITEMIDLIST), which serves the same purpose as a file system path.

The ultimate root of the namespace hierarchy is the desktop. Immediately below the root are several virtual folders such as My Computer and the Recycle Bin.

List of Namespace extensions

Extensions

The capabilities of the Shell can be extended with registry entries and .ini files. While this approach to extending the Shell is simple, and adequate for many purposes, it is limited. A more powerful and flexible approach to extending the Shell is to implement shell extension handlers. These handlers can be implemented for a variety of actions that the Shell can perform.

Handlers associated with a paricular file type:

  • Shortcut menu handler (Context menu handler)

    Called before a file's shortcut menu is displayed. It enables you to add items to the shortcut menu on a file-by-file basis.

  • Data handler

    Called when a drag-and-drop operation is performed on dragShell objects. It enables you to provide additional clipboard formats to the drop target.

  • Drop handler

    Called when a data object is dragged over or dropped on a file. It enables you to make a file into a drop target.

  • Icon handler

    Called before a file's icon is displayed. It enables you to replace the file's default icon with a custom icon on a file-by-file basis.

  • Property sheet handler

    Called before an object's Properties property sheet is displayed. It enables you to add or replace pages.

  • Thumbnail image handler

    Provides an image to represent the item.

  • Infotip handler

    Provides pop-up text when the user hovers the mouse pointer over the object.

  • Property handler (Metadata handler)

    Provides read and write access to metadata (properties) stored in a file. This can be used to extend the Details view, infotips, the property page, and grouping features.

  • Preview handler

    Called when an item is selected to show a lightweight, rich, read-only preview of the file's contents in the view's reading pane. This is done without launching the file's associated application.

  • Filter handler

    Allows file properties and its contents to be indexed and searched by Indexing Service or Windows Search.1

  • AutoPlay event handler

    Examines newly discovered removable media and devices and, based on content such as pictures, music or video files, launches an appropriate application to play or display the content.1

Other handlers:

  • Column handler (only Windows XP or earlier)

    Called by Windows Explorer before it displays the Details view of a folder. It enables you to add custom columns to the Details view.

  • Copy hook handler

    Called when a folder or printer object is about to be moved, copied, deleted, or renamed. It enables you to approve or veto the operation.

  • Drag-and-drop handler

    Called when a file is dragged with the right mouse button. It enables you to modify the shortcut menu that is displayed.

  • Icon overlay handler

    Called before a file's icon is displayed. It enables you to specify an overlay for the file's icon.

  • Search handler

    Called to launch a search engine. It enables you to implement a custom search engine accessible from the Start menu or Windows Explorer.

  • Disk Cleanup handler

    Add a new entry to the Disk Cleanup application and allows specifying additional disk locations or files to clean up.1

Tools:

File Explorer

File Explorer (Windows Explorer) is a file manager included with Windows 95 and later.1

Extensions

Desktop

Extensions

.NET

Footnotes

  1. File Explorer - Wikipedia 2 3 4