Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
File Explorer
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Extensibility== File Explorer can be extended to support non-default functionality by means of Windows shell extensions, which are [[Component Object Model|COM]] objects that plug the extended functionality into Windows Explorer.<ref>{{Citation | url = http://www.nirsoft.net/utils/shexview.html | title = ShellExView v1.19 β Shell Extensions Manager for Windows | access-date = March 31, 2008 | archive-date = October 24, 2010 | archive-url = https://web.archive.org/web/20101024165356/http://www.nirsoft.net/utils/shexview.html | url-status = live }}</ref> Shell extensions can be in the form of shell extension handlers, toolbars or even namespace extensions that allow certain folders (or even non-filesystem objects such as the images scanned by a scanner) to be presented as a [[special folder]]. File Explorer also allows [[metadata]] for files to be added as [[NTFS]] [[alternate data stream]]s, separate from the data stream for the file. Shell extension handlers are queried by the shell beforehand for modifying the action the shell takes. They can be associated on a per file type β where they will show up only when a particular action takes place on a particular file type β or on a global basis β which are always available. The shell supports the following extension handlers: {| class="wikitable" style="margin:auto;" |- !Handler !Description !Can be implemented on !Required shell version |- |Context menu handler |Adds menu items to the context menu. It is called before the context menu is displayed. |Per file type |[[Windows 95]] and later. Windows 7 introduced [[Features new to Windows 7#Miscellaneous Shell enhancements|IExecuteCommand]] |- |Drag-and-drop handler |Controls the action upon right-click drag and drop and modifies the context menu that appears. |Global |Windows 95 and later |- |Drop target handler |Controls the action after a data object is dragged and dropped over a drop target such as a file. |Per file type |Windows 95 and later |- |Data object handler |Controls the action after a file is copied to the clipboard or dragged and dropped over a drop target. It can provide additional clipboard formats to the drop target. |Per file type |Windows 95 and later |- |Icon handler |Assigns a custom icon to an individual file amongst a class of file types. It is called before file icons are displayed. |Per file type |Windows 95 and later |- |Property sheet handler |Replaces or adds pages to the property sheet dialog box of an object. |Per file type |Windows 95 and later |- |Copy hook handler |Allows running, modifying or denying the action when a user or application tries to copy, move, delete, or rename an object. |''Not associated with a file type'' |Windows 95 and later |- |Search handler |Allows shell integration of a custom search engine. |''Not associated with a file type'' |Windows 95 through Windows XP |- |Infotip handler |Allows retrieving flags and infotip information for an item and displaying it inside a popup [[tooltip]] upon mouse hover. |Per file type |[[Windows Desktop Update]] and later |- |Thumbnail image handler |Provides for a thumbnail image to be generated and displayed along with its alpha type when a file is selected or the thumbnail view is activated. |Per file type |Windows Desktop Update and later. Windows Vista introduced a newer IThumbnailProvider interface that also shows thumbnails in the Details pane. The older IExtractImage is still supported but not in the Details pane.<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/cc144118(VS.85).aspx|title=Thumbnail Handlers (Windows)|website=msdn.microsoft.com|access-date=June 19, 2018|archive-date=June 19, 2018|archive-url=https://web.archive.org/web/20180619163214/https://msdn.microsoft.com/en-us/library/cc144118(VS.85).aspx|url-status=live}}</ref> |- |[[Disk Cleanup]] handler |Add a new entry to the [[Disk Cleanup]] application and allows specifying additional disk locations or files to clean up. |Per folder | [[Windows 98]] and later |- |Column handler |Allows creating and displaying custom columns in Windows Explorer details view. It can be used to extend sorting and grouping. |Per folder |[[Windows 2000]] and later |- |Icon overlay handler |Allows displaying an overlay icon over a shell object (a file or folder icon). |Per file type |Windows 2000 and later |- |Metadata handler |Allows viewing and modifying metadata stored in a file. It can be used to extend details view columns, infotips, property pages, sorting and grouping. |Per file type |Windows 2000 and later |- |Filter handler (IFilter) |Allows file properties and its contents to be indexed and searched by [[Indexing Service]] or [[Windows Search]] |Per file type |Windows 2000 and later |- |[[AutoPlay]] 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. |Per file type category<br/>Windows XP only: per device and per file type category |[[Windows XP]] and later |- |Property handler |Allows viewing and modifying system-defined and custom properties of a file. |Per file type |[[Windows Vista]] and later; on Windows XP if [[Windows Search]] is installed. |- |Preview handler |Renders enhanced previews of items without launching the default application when a file is selected. It can also provide file type-specific navigation such as browsing a document, or seeking inside a media file. |Per file type |Windows Vista and later |} Namespace extensions are used by Explorer and Common Dialogs to either display some data β which are not necessarily persisted as files β in a folder-like view or to present data in a way that is different from their organization on the file system. This feature can be exploited by a any hierarchical data source that can be represented as a file system like the Windows one, including Cloud-based implementation. [[Special folders]], such as My Computer and Network Places in Windows Explorer are implemented this way, as are Explorer views that let items in a [[mobile phone]] or [[digital camera]] be explored. [[Revision control|Source-control systems]] that use Explorer to browse source repositories also use Namespace extensions to allow Explorer to browse the revisions. To implement a namespace extension, the <code>IPersistFolder</code>, <code>IShellView</code>, <code>IShellFolder</code>, <code>IShellBrowser</code> and <code>IOleWindow</code> [[interface (computing)|interfaces]] need to be implemented and registered. The implementation needs to provide the logic for navigating the data store as well as describing the presentation. Windows Explorer will instantiate the COM objects as required.<ref name="creatense"/> While Windows Explorer natively exposes the extensibility points as [[Component Object Model|COM]] [[interface (computing)|interfaces]], [[.NET Framework]] can also be used to write some types of extensions, using the [[COM Interop]] functionality of .NET Framework.<ref name="creatense">{{Cite web|url=http://msdn2.microsoft.com/en-us/magazine/cc188741.aspx|title=Create Namespace Extensions for Windows Explorer with the .NET Framework|last=Rensin|first=Dave|date=January 2004|website=msdn.microsoft.com|archive-url=https://web.archive.org/web/20080508015925/https://msdn.microsoft.com/en-us/magazine/cc188741.aspx|archive-date=May 8, 2008|access-date=March 31, 2008}}</ref> While Microsoft itself makes available extensions β such as the photo info tool<ref>{{cite web|url=http://www.microsoft.com/downloads/details.aspx?familyid=B038D4B5-1D88-437C-9F54-1FB0D210B5EF&displaylang=en|title=Microsoft Download Center: Windows, Office, Xbox & More|website=www.microsoft.com|access-date=June 19, 2018|archive-date=May 13, 2008|archive-url=https://web.archive.org/web/20080513182601/http://www.microsoft.com/downloadS/details.aspx?familyid=B038D4B5-1D88-437C-9F54-1FB0D210B5EF&displaylang=en|url-status=live}}</ref> β which are authored using [[.NET Framework]], they currently recommend against writing [[managed code|managed]] shell extensions, as only one instance of the [[Common Language Runtime|CLR]] (prior to version 4.0) can be loaded per-process. This behavior will cause conflicts if multiple managed add-ins, targeting different versions of the CLR, are attempted to be run simultaneously.<ref>{{cite web|url=http://msdn.microsoft.com/msdnmag/issues/04/01/WindowsShell/default.aspx#edupdate|title=MSDN Magazine Issues|website=msdn.microsoft.com|access-date=June 19, 2018|archive-date=May 21, 2008|archive-url=https://web.archive.org/web/20080521153833/http://msdn.microsoft.com/msdnmag/issues/04/01/WindowsShell/default.aspx#edupdate|url-status=live}}</ref><ref>{{cite web|url=http://blogs.msdn.com/junfeng/archive/2005/11/18/494572.aspx|title=Don't do Shell Extension Handlers in .NET|last=Zhang|first=Junfeng|date=November 18, 2005|website=msdn.com|access-date=June 19, 2018|archive-date=January 5, 2010|archive-url=https://web.archive.org/web/20100105172323/http://blogs.msdn.com/junfeng/archive/2005/11/18/494572.aspx|url-status=live}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)