Your SlideShare is downloading. ×
EZNamespaceExtensions.Net : Rapid development Of Windows Shell Namespace Extensions In .Net
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

EZNamespaceExtensions.Net : Rapid development Of Windows Shell Namespace Extensions In .Net


Published on

EZNamespaceExtensions.Net is a framework for fast, painless and easy development of Windows Explorer namespace extensions in .Net. Namespace extension development is notorious for its difficulty, …

EZNamespaceExtensions.Net is a framework for fast, painless and easy development of Windows Explorer namespace extensions in .Net. Namespace extension development is notorious for its difficulty, subtleties and for the sheer amount of work and time that is required. With EZNamespaceExtensions.Net's simple and well-designed API, you can concentrate on writing the functionality of your namespace extension and not worry about the hundred things that are necessary to integrate the namespace extension seamlessly into Windows Explorer and File Open/Save Dialogs.

Document management software, content management software, asset management software, virtual drives, database browsers and front-ends and protocol handlers are just some of the kind of software that can make use of EZNamespaceExtensions.Net.

EZNamespaceExtensions makes it a breeze to develop a full-blown namespace extension from scratch with full support for Windows 8 and Windows 7. It supports automatic sub-folder navigation, context-menus, background context-menus drag-drop, cut-copy-paste, details (report) view, thumbnail view, info tips, icons, overlay icons, and lots more.

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. EZNamespaceExtensions.Net : Rapid development Of Windows ShellNamespace Extensions In .NetRegistry Browser Namespace Extension Developed Using EZNamespaceExtensionsMore ScreenshotsIntroductionEZNamespaceExtensions.Net is a framework for fast, painless and easy development of WindowsExplorer namespace extensions in .Net . EZNamespaceExtensions.Net eliminates the time-consuming,error-prone and complicated process of developing namespace extensions using an innovative yetsimple and easy-to-use object model. With EZNamespaceExtensions.Net, you can concentrate onwriting the functionality of your namespace extension and not worry about the hundred things that arenecessary to integrate the namespace extension seamlessly into Windows Explorer. Shell namespaceextensions developed with EZNamespaceExtensions.Net support all kinds of features includingfolder/non-folder items, sub-folders, sub-folder navigation, custom views, details/column view,contextmenus, background contextmenus, drag-drop, icons, overlay icons, thumbnails,groups/categories, tile-view, property sheets and many other features which enable the shellnamespace extension to integrate smoothly and seamlessly into Windows Explorer and otherbrowsers.What are shell namespace extensions?The namespace extension is a hierarchical organization of items that can be integrated into WindowsExplorer. The items in the namespace extension can represent various kinds of data such as entries ina database, the contents of a network/web/FTP location, actual file system objects or the contents ofthe system registry. The namespace extension can be plugged into Windows Explorer hierarchy atvarious locations like the Desktop, My Computer or even as a file system folder.
  • 2. Developing shell namespace extensions in .Net from scratchAnybody who has attempted shell programming will attest to the difficulties, subtleties, and even thebugs and limitations of the Windows Shell and of the Shell API itself. Terms such as PIDL andITEMIDLIST can give developers nightmares. All these combined with skimpy and often erroneousdocumentation means that developing namespace extensions from scratch is extremely time-consuming effort. It can take days just to get a minimal namespace extension going and this is justthe beginning. As soon as you start to add other features such as context menu support, drag-dropsupport, details/report view, thumbnail view and group/category view support, the time required canget blown into weeks and weeks on end and put a project schedule out of orbit.Developing namespace extensions in .Net only make the matters worse. Now one has to deal with theadditional complexities of COM Interop, correct and working shell interface definitions and APIstructures and plenty of other arcane things.Developing shell namespace extensions in .Net with EZNamespaceExtensions.NetTo developers looking for relief, EZNamespaceExtensions.Net is the prefect solution.EZNamespaceExtensions.Net is a well designed and thoroughly tested framework which relieves you ofall the time-consuming tasks required for developing namespace extensions in .Net and can reducethe time required to write namespace extensions by as much as 80%. WithEZNamespaceExtensions.Net, you can concentrate on writing the functionality of your namespaceextension and not worry about the hundred things that are necessary to integrate the namespaceextension seamlessly into Windows Explorer.VB.Net and C# Visual Studio.Net Project WizardsEZNamespaceExtensions.Net comes with VB.Net and C# Project Wizards integrated within the VisualStudio.Net IDE. Just select a new Shell Namespace Extension" project and skeletal code for a read-to-build-and-view namespace extension is automatically generated. This enables you to directly startadding the functionality of your namespace extension and not waste time laying the groundwork.EZNamespaceExtensions.Net object modelAll items in your namespace extension are instances of either the NSEItem or NSEFolder classdepending on whether they are folder or non-folder items. The classes have virtual methods which areoverridden and are used for retrieving the properties of the items such as the items display name,icon, overlay icon, thumbnail, etc. Some virtual methods are called when an event occurs whichconcerns the item, for example when a drag-drop operation occurs over the item or when the item isrenamed or deleted. The children of a folder item are specified using another overridden methodwhich is called to retrieve the child items of the folder.Serialization and deserialization of itemsThe namespace extension mechanism of Windows Explorer depends on the ability of items in thenamespace extension to be saved in data form and later restored from the saved data.This saved datais called a PIDL or an ITEMIDLIST in shell terminology. PIDL management is one of the most difficultand bug-prone tasks in namespace extension development. EZNamespaceExtensions.Net alleviatesthe developer of this and automatically manages the serialization and deserialization of items. InEZNamespaceExtensions.Net, each item is responsible for serializing itself and a folder item isresponsible for deserializing child items from the serialized data.
  • 3. Features and functionality supported by EZNamespaceExtensions.NetDetails/Report View supportIn Windows Explorer Details View, multiple columns can be displayed for each item and each columndisplays information about the item. Namespace extensions developed withEZNamespaceExtensions.Net have full support for Details View with the ability to specify multiplecolumns and item data for each column and column-based sorting.Context Menu SupportWhen a user right-clicks on items in Windows Explorer, a context menu is displayed contained variouscommands which can be performed on the items. EZNamespaceExtensions.Net fully supports itemcontext menus as well as folder background context menus which are displayed when the user right-clicks on the empty space of the view. The context menus can also contain owner-drawn menu itemsand submenus.Drag-drop supportItems in the namespace extension fully support drag-drop operations from/to/within the namespaceextension. When items from your namespace extension are being dragged on an external folder suchas a file system folder, the create shortcut functionality is made available automatically byEZNamespaceExtensions.Net. As a result, shortcuts to items in namespace extension can be createdby Windows Explorer.If you want the ability to Copy/Move your items to an external folder, then you must add theappropriate data to the dataobject. File system folders understand the FileDrop data format. If youritems map to actual file system objects then you should use this data format to enable Move/Copyoperations to external file system folders. If your items do not map to file system objects, you can stillenable your items to be copied/moved to external file system folders by presenting the items in thenamespace extension as data streams which Windows Explorer can read and transfer data from.EZNamespaceExtensions.Net also supports drag-drop (both external and within your own namespaceextension) on items within your namespace extension.Cut-Copy-Paste operationsNamespace extension developed with EZNamespaceExtensions.Net fully support Cut-Copy-Pasteoperations.Icons, OverlayIcons and InfotipsItems in the namespace extension have full support for icons, overlay icons and infotips using singleoverridden methods for each. Icons and overlay icons can be specified using icon files, exe or dll files,using actual icon handles or as an index of an icon in the system image list.Thumbnail View SupportWhen Windows Explorer is showing items in Thumbnail View, a small bitmap known as a thumbnail isshown for items. EZNamespaceExtensions.Net has full support for item thumbnails.Tile View Support
  • 4. Starting with Windows XP, Windows Explorer supports display of items in a new view called the TileView in which items can display additional lines of text below its display name.EZNamespaceExtensions.Net fully supports this view for namespace extensions.Groups/Category View supportStarting with Windows XP, items in Windows Explorer can be grouped/categorized together for easypresentation. EZNamespaceExtensions.Net fully supports this view and comes with a couple of defaultcategorizers Developers can also write their own categorizersToolbar buttons and frame menu merging.EZNamespaceExtensions.Net also has the ability to add toolbar buttons to the toolbar of WindowsExplorer. Additionally, menu items specific to your namespace extension can also be merged in themain frame menu of Windows Explorer. The merged menu items fully support owner-drawn menuitems and submenus.File Open/Save Common Dialog SupportEZNamespaceExtensions.Net fully supports browsing of the namespace extension from the FileOpen/Save common dialogs without any additional effort needed on the part of the developer.Custom View SupportBy default, the user interface (UI) of a folder in the namespace extension consists of a listview controlwhich displays the child items of the folder. The listview control can display items in different modes(Large Icon, Details, Thumbnail, etc) and handles much of the work on your behalf. The advantages ofthis approach are obvious : easy of use and most importantly, familiarity of the UI to users. However,you can choose to use a custom view (UI) for folders in your namespace extension and suchfunctionality is fully supported by EZNamespaceExtensions.Net.Types of namespace extensions supported by EZNamespaceExtensions.NetNamespace extensions can be plugged into the Windows Explorer hierarchy at various locations knownas junction points. EZNamespaceExtensions.Net supports all junction points supported by WindowsExplorer such as the Desktop, Control Panel, My Computer, Remote Computer and the NetworkNeighborhood. In addition, namespace extensions can also use a file system folder as the junctionpoint.Tool and language supportEZNamespaceExtensions.Net supports all version of Visual Studio.Net including Visual Studio.Net2002, Visual Studio.Net 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 and VisualStudio 2011. It supports all versions of the .Net runtime library from .Net 1.0 to the latest .Net 4.5. Itsupports VB.Net, C#, Managed C++.Net and many other languages which have support for .Net.ConclusionWith its simple yet intuitive object model, EZNamespaceExtensions.Net makes developing namespaceextensions in .Net a breeze. It supports all features which ensure that your namespace extensionintegrates smoothly and seamlessly into Windows Explorer and other browsers. This well designed andthoroughly tested framework is an obvious choice when it comes to developing namespace extensionsin .Net.