An ActiveX control library for Visual Basic 6 that contains add-on controls for ExplorerListView and ExplorerTreeView to use them for browsing the shell namespace.
Clone or download
TimoKunze Fixed a crash when calling the InvokeDefaultShellContextMenuCommand w…
…ith an empty TreeViewItems or TreeViewItemContainer collection.
Latest commit e1699dd Feb 2, 2018

README.md

Release 1.5.8 Release Download ShellBrowserControls License Donate

ShellBrowserControls

An ActiveX control library for Visual Basic 6 that contains add-on controls for ExplorerListView and ExplorerTreeView to use them for browsing the shell namespace.

I've developed this ActiveX control library between 2005 and 2010 and did update it on a regular basis until 2016. Currently I have little interest to maintain this project any longer, but I think the code might be of some use to others.

Before you make changes

If you make changes to the code and deploy the binary, keep in mind that ActiveX controls are COM components and therefore should stay binary compatible as long as you don't change the COM object's, i.e. the ActiveX control's public class name and GUIDs. Otherwise people using these components are likely to end up in the famous COM hell.

Dependencies

You will need the Microsoft Windows 10 SDK, ATL, and WTL 9.

Required Change to ATL

Some version of ATL have a bug in AtlIPersistPropertyBag_Load which causes crashes. In the file atlcom.h search for AtlIPersistPropertyBag_Load. Inside the implementation of this function search for HRESULT hr = pPropBag->Read(pMap[i].szDesc, &var, pErrorLog);. Make sure that there is this code before this line: var.pdispVal = NULL;.