The recommended way to get the full path to a shelltree node is ShellTreeView.GetPathFromNode(ANode). GetTextPath is the method inherited from TCustomTreeView, and the items joined by this path not necessarily are elements of the file system. Imagine the hierarchy of classes in the LCL: then GetTextPath would return for TEdit: 'TObject/TPersistent/TComponent/TLCLComponent/TControl/TWinControl/TCustomEdit/TEdit' where '/' is some kind of path delimiter. In fact, in Laz main TCustomTreeView has a (protected) property PathDelimiter which is published in the new TShellTreeView to match the SysUtils.PathDelim, i.e. you can use GetTextPath and GetPathFromNode in the same way.