<< Click to Display Table of Contents >> Navigation: »No topics above this level« Introduction |
ShellBrowser .Net Components
Welcome to JAM Software's ShellBrowser .Net Components, a comprehensive set of .Net components using the native Windows Shell-API on 32- and 64-bit systems.
Description
ShellBrowser .Net Components is a control set for .Net. It gives a programmer easy access to the Win32 shell functionality supporting all Windows versions beginning with Windows Vista. Most of the components (like the ShellTree, ShellList, ShellFilePreview) are visual components - they can simply be dragged from Visual Studio's component panel onto the form. In their default settings the components look like the corresponding parts in Windows Explorer. All components support correct icons and the Explorer context menu. Numerous properties and events make the controls highly customizable in appearance and behavior. Properties are already visualized in design mode, so you don't need to run your project to view the effect of changing a property.
Some of the ShellBrowser .Net Components controls are not visible in nature. The ShellControlConnector components is used to link visual components so that you don't need to write a single line of code to have a ShellList show the contents of the folder that is selected in an attached ShellTreeView control. The ShellBrowser component is used by the visual controls internally but can also be used standalone in your code. It provides an easy interface to the Windows shell interface without the need of having to declare and p/Invoke all used methods yourself. For example it can easily be used to show the context menu for a file or a range of files.
Deployment
The control set contained in "ShellBrowser.dll" is “royalty free“ - as soon as you licensed the product you are allowed to arbitrarily often deliver the assembly to your customers. When distributing the application that uses these controls, the "ShellBrowser.dll" needs to be located in the executable's folder.
The full version is packed with a file “JamDesign.dll“, which is necessary to develop software with the ShellBrowser controls but not to run them. “JamDesign.dll“ must not be delivered together with the software using the ShellBrowser controls.
Depending on the .NET and Windows version of the target system, only file and folder paths that are less than 260 chars will be supported by the .NET Framework. Some operations in the System.IO namespace like "Path.Combine" are string operations and will work with paths that exceed 260 characters, while others like "File.Exists" will throw PathTooLongExceptions or DirectoryNotFoundExceptions in .NET versions >= 4.6.2. Since ShellBrowser.NET components also make use of those operations by default long paths are not supported. However ShellBrowser can use AlphaFS, a third party library replacing the relevant System.IO namespace and thus avoiding the long path restriction.
Usage:
- Just install the AlphaFS nuget package for your project. ShellBrowser will recognize it is there and use it instead of the System.IO namespace.
- Make sure the AlphaFS.dll is deployed to your output folder and is also deployed with your software.
- Note: AlphaFS is optional. If it is not installed, you might find a "FileNotFoundException". In this case ShellBrowser will simply use the .NET System.IO namespace instead.
Compatibility
Please check the compatibility overview.
Documentation/Getting started
This document gives you a short overview of the ShellBrowser.NET components. To get started we would advise you to
- have a look at the Components page to get a quick overview of the available components and what they are used for
- try out and take a look at our example projects that are installed with the components.
The complete API reference can be found in the installation folder of the ShellBrowser.NET components, or online: API documentation.
Copyright
The ShellBrowser .Net Components component set is Shareware, you may test it for 30 days. If you choose to use the program after this period you need to register.
© 1998-2023 Joachim Marder e.K.