public ShellNode(ShellBrowser browser, IntPtr pidl, IntPtr shellFolderPtr) { this.Browser = browser; this.shellFolderPtr = shellFolderPtr; this.shellFolder = (IShellFolder)Marshal.GetTypedObjectForIUnknown(shellFolderPtr, typeof(IShellFolder)); this.SubFiles = new ShellItemCollection(this); this.SubFolders = new ShellItemCollection(this); PIDLRel = new Pidl(pidl, false); Text = "Desktop"; Path = "Desktop"; SetAttributesDesktop(this); ShFileInfo info = new ShFileInfo(); Shell32.SHGetFileInfo(PIDLRel.Ptr, 0, ref info, Marshal.SizeOf(info), SHGFI.Pidl | SHGFI.TypeName | SHGFI.SysIconIndex); Type = info.TypeName; ShellImageList.SetIconIndex(this, info.IconIndex, false); ShellImageList.SetIconIndex(this, info.IconIndex, true); SortFlag = 1; }
public ShellBrowserUpdater(ShellBrowser browser) { this.browser = browser; CreateHandle(new CreateParams()); SHChangeNotifyEntry entry = new SHChangeNotifyEntry(); entry.pIdl = browser.DesktopItem.PIDLRel.Ptr; entry.Recursively = true; notifyId = RegisterShellNotify(this.Handle, entry); }
public ShellNode(ShellBrowser browser, ShellNode parentItem, IntPtr pidl) { this.Browser = browser; this.ParentItem = parentItem; PIDLRel = new Pidl(pidl, false); SetText(this); SetPath(this); SetAttributesFile(this); SetInfo(this); SortFlag = MakeSortFlag(this); }
public ShellNode(ShellBrowser browser, ShellNode parentItem, IntPtr pidl, IntPtr shellFolderPtr) { this.Browser = browser; this.ParentItem = parentItem; this.shellFolderPtr = shellFolderPtr; this.shellFolder = (IShellFolder)Marshal.GetTypedObjectForIUnknown(shellFolderPtr, typeof(IShellFolder)); SubFiles = new ShellItemCollection(this); SubFolders = new ShellItemCollection(this); PIDLRel = new Pidl(pidl, false); SetText(this); SetPath(this); SetAttributesFolder(this); SetInfo(this); SortFlag = MakeSortFlag(this); }