static string _ShellItemToString(api.IShellItem r) { //if(!f.Has(api.FOS.FOS_FORCEFILESYSTEM)) { // var k=r.GetAttributes(0xffffffff); // if(0==(k&api.SFGAO_FILESYSTEM)) { // print.it(k); // } //} var s = r.GetDisplayName(SIGDN.FILESYSPATH | SIGDN.URL); //info: for a non-FS item, even with SIGDN.FILESYSPATH gets string like "::{GUID}" return(Pidl.ClsidToItemidlist_(s)); }