The following example shows the Windows Explorer for all non file system folders and an own file manager for all file system folders:
with ShellList do begin if not Assigned(Selected) then exit; if IsSpecialObject(Selected) != SF_FILESYSTEM then InvokeCommandOnSelected('open') else ShowMyFileManager(GetFullPath(Selected)); end;