What is an ItemIdList?
Question / Problem
I've noticed that the controls frequently use the type "ItemIdList" or "TJamItemIdList" or "IItemIdList" at places where I would like to retrieve or set a file system path. What's this and how can I use it?
Answer / Solution
An ItemIdList is a type derived from the PIDL that is used by the Windows Shell. It fulfills the same functions as a file system path, but is also available for elements that do not have a file system path, such as virtual elements (like e.g. the "This PC" folder) or files that reside on an attached mobile phone.
You can easily create ItemIdLists from a file system path using the respective constructors.
Getting the path from an ItemIdList can be done using the "Path" or "DisplayPath" properties of an ItemIdList.
Also, whenenver a ShellBrowser component is associated with a path, most likely the ItemIdList can also be accessed via respective "FolderIdList" or "AbsoluteItemIdList" properties (e.g. for ListItems, TreeNodes, etc.).
For further documentation see:
TJamItemIdList (ShellBrowser Delphi components)
ItemIdList (ShellBrowser.NET and ShellBrowser.WPF Components)