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.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
EZNamespaceExtensions.Net : Rapid development Of Windows Shell Namespace Extensions In .Net
1. EZNamespaceExtensions.Net : Rapid development Of Windows Shell
Namespace Extensions In .Net
Registry Browser Namespace Extension Developed Using EZNamespaceExtensions
More Screenshots
Introduction
EZNamespaceExtensions.Net is a framework for fast, painless and easy development of Windows
Explorer namespace extensions in .Net . EZNamespaceExtensions.Net eliminates the time-consuming,
error-prone and complicated process of developing namespace extensions using an innovative yet
simple and easy-to-use object model. With EZNamespaceExtensions.Net, 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. Shell namespace
extensions developed with EZNamespaceExtensions.Net support all kinds of features including
folder/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 shell
namespace extension to integrate smoothly and seamlessly into Windows Explorer and other
browsers.
What are shell namespace extensions?
The namespace extension is a hierarchical organization of items that can be integrated into Windows
Explorer. The items in the namespace extension can represent various kinds of data such as entries in
a database, the contents of a network/web/FTP location, actual file system objects or the contents of
the system registry. The namespace extension can be plugged into Windows Explorer hierarchy at
various locations like the 'Desktop', 'My Computer' or even as a file system folder.
2. Developing shell namespace extensions in .Net from scratch
Anybody who has attempted shell programming will attest to the difficulties, subtleties, and even the
bugs and limitations of the Windows Shell and of the Shell API itself. Terms such as PIDL and
ITEMIDLIST can give developers nightmares. All these combined with skimpy and often erroneous
documentation 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 just
the beginning. As soon as you start to add other features such as context menu support, drag-drop
support, details/report view, thumbnail view and group/category view support, the time required can
get 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 the
additional complexities of COM Interop, correct and working shell interface definitions and API
structures and plenty of other arcane things.
Developing shell namespace extensions in .Net with EZNamespaceExtensions.Net
To developers looking for relief, EZNamespaceExtensions.Net is the prefect solution.
EZNamespaceExtensions.Net is a well designed and thoroughly tested framework which relieves you of
all the time-consuming tasks required for developing namespace extensions in .Net and can reduce
the time required to write namespace extensions by as much as 80%. With
EZNamespaceExtensions.Net, 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.
VB.Net and C# Visual Studio.Net Project Wizards
EZNamespaceExtensions.Net comes with VB.Net and C# Project Wizards integrated within the Visual
Studio.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 start
adding the functionality of your namespace extension and not waste time laying the groundwork.
EZNamespaceExtensions.Net object model
All items in your namespace extension are instances of either the NSEItem or NSEFolder class
depending on whether they are folder or non-folder items. The classes have virtual methods which are
overridden and are used for retrieving the properties of the items such as the item's display name,
icon, overlay icon, thumbnail, etc. Some virtual methods are called when an event occurs which
concerns the item, for example when a drag-drop operation occurs over the item or when the item is
renamed or deleted. The children of a folder item are specified using another overridden method
which is called to retrieve the child items of the folder.
Serialization and deserialization of items
The namespace extension mechanism of Windows Explorer depends on the ability of items in the
namespace extension to be saved in data form and later restored from the saved data.This saved data
is called a PIDL or an ITEMIDLIST in shell terminology. PIDL management is one of the most difficult
and bug-prone tasks in namespace extension development. EZNamespaceExtensions.Net alleviates
the developer of this and automatically manages the serialization and deserialization of items. In
EZNamespaceExtensions.Net, each item is responsible for serializing itself and a folder item is
responsible for deserializing child items from the serialized data.
3. Features and functionality supported by EZNamespaceExtensions.Net
Details/Report View support
In Windows Explorer Details View, multiple columns can be displayed for each item and each column
displays information about the item. Namespace extensions developed with
EZNamespaceExtensions.Net have full support for Details View with the ability to specify multiple
columns and item data for each column and column-based sorting.
Context Menu Support
When a user right-clicks on items in Windows Explorer, a context menu is displayed contained various
commands which can be performed on the items. EZNamespaceExtensions.Net fully supports item
context 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 items
and submenus.
Drag-drop support
Items in the namespace extension fully support drag-drop operations from/to/within the namespace
extension. When items from your namespace extension are being dragged on an external folder such
as a file system folder, the 'create shortcut' functionality is made available automatically by
EZNamespaceExtensions.Net. As a result, shortcuts to items in namespace extension can be created
by Windows Explorer.
If you want the ability to Copy/Move your items to an external folder, then you must add the
appropriate data to the dataobject. File system folders understand the FileDrop data format. If your
items map to actual file system objects then you should use this data format to enable Move/Copy
operations to external file system folders. If your items do not map to file system objects, you can still
enable your items to be copied/moved to external file system folders by presenting the items in the
namespace 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 namespace
extension) on items within your namespace extension.
Cut-Copy-Paste operations
Namespace extension developed with EZNamespaceExtensions.Net fully support Cut-Copy-Paste
operations.
Icons, OverlayIcons and Infotips
Items in the namespace extension have full support for icons, overlay icons and infotips using single
overridden 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 Support
When Windows Explorer is showing items in Thumbnail View, a small bitmap known as a thumbnail is
shown 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 Tile
View 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 support
Starting with Windows XP, items in Windows Explorer can be grouped/categorized together for easy
presentation. EZNamespaceExtensions.Net fully supports this view and comes with a couple of default
categorizers Developers can also write their own categorizers
Toolbar buttons and frame menu merging.
EZNamespaceExtensions.Net also has the ability to add toolbar buttons to the toolbar of Windows
Explorer. Additionally, menu items specific to your namespace extension can also be merged in the
main frame menu of Windows Explorer. The merged menu items fully support owner-drawn menu
items and submenus.
File Open/Save Common Dialog Support
EZNamespaceExtensions.Net fully supports browsing of the namespace extension from the File
Open/Save common dialogs without any additional effort needed on the part of the developer.
Custom View Support
By default, the user interface (UI) of a folder in the namespace extension consists of a listview control
which 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 of
this 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 such
functionality is fully supported by EZNamespaceExtensions.Net.
Types of namespace extensions supported by EZNamespaceExtensions.Net
Namespace extensions can be plugged into the Windows Explorer hierarchy at various locations known
as junction points. EZNamespaceExtensions.Net supports all junction points supported by Windows
Explorer such as the Desktop, Control Panel, My Computer, Remote Computer and the Network
Neighborhood. In addition, namespace extensions can also use a file system folder as the junction
point.
Tool and language support
EZNamespaceExtensions.Net supports all version of Visual Studio.Net including Visual Studio.Net
2002, Visual Studio.Net 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 and Visual
Studio 2011. It supports all versions of the .Net runtime library from .Net 1.0 to the latest .Net 4.5. It
supports VB.Net, C#, Managed C++.Net and many other languages which have support for .Net.
Conclusion
With its simple yet intuitive object model, EZNamespaceExtensions.Net makes developing namespace
extensions in .Net a breeze. It supports all features which ensure that your namespace extension
integrates smoothly and seamlessly into Windows Explorer and other browsers. This well designed and
thoroughly tested framework is an obvious choice when it comes to developing namespace extensions
in .Net.