madShell.ShellObj(Path) can't resolve "Libraries \ Pictures"
Posted: Wed Apr 04, 2012 12:53 pm
Hi,
I have a problem converting a path to IShellObj. The Path is '::{031E4825-7B94-4DC3-B131-E946B44C8DD5}\::{A5A3563A-5755-4A6F-854E-AFA3230B199F}'. It points to "Libraries \ Pictures". This GUID-Representation is generated by IShellObj, but cannot be resolved from string back to an IShellObj (I want to store the path for next application startup).
Please have a look at following code:
Is this a bug in madShell or is my code wrong?
My OS: Win7-64 (32 Bit Application)
I have a problem converting a path to IShellObj. The Path is '::{031E4825-7B94-4DC3-B131-E946B44C8DD5}\::{A5A3563A-5755-4A6F-854E-AFA3230B199F}'. It points to "Libraries \ Pictures". This GUID-Representation is generated by IShellObj, but cannot be resolved from string back to an IShellObj (I want to store the path for next application startup).
Please have a look at following code:
Code: Select all
var
ListView: TcxShellListView; // ShellListView from Developer Express
IDList: IIDList;
ShellObj: IShellObj;
Path: string;
...
IDList := madShell.IDList(ListView.AbsolutePIDL, False); // Get Current Path of ShellListeView
ShellObj := madShell.ShellObj(IDList);
Path := ShellObj.Path; // Returns '::{031E4825-7B94-4DC3-B131-E946B44C8DD5}\::{A5A3563A-5755-4A6F-854E-AFA3230B199F}' for "Libraries \ Pictures"
ShellObj := madShell.ShellObj(Path); // Do the reverse, string -> IShellObj
if ShellObj.Path <> Path then
ErrorReproduced;
My OS: Win7-64 (32 Bit Application)