Exemplo n.º 1
0
        private static IEnumerable <string> GetFolders(ModernShell.IShellItemArray shellItems)
        {
            foreach (var shellItem in GetItems(shellItems))
            {
                yield return(GetDisplayName(shellItem, ModernShell.SIGDN.DESKTOPABSOLUTEPARSING));

                Marshal.ReleaseComObject(shellItem);
            }
        }
Exemplo n.º 2
0
        private static IEnumerable <ModernShell.IShellItem> GetItems(ModernShell.IShellItemArray shellItems)
        {
            var count = default(uint);

            shellItems.GetCount(out count);
            for (var position = default(uint); position < count; position++)
            {
                var shellItem = default(ModernShell.IShellItem);
                shellItems.GetItemAt(position, out shellItem);
                yield return(shellItem);
            }
        }