In This Article

IShellObject Interface

Provides the requirements for a shell object.

public interface IShellObject : IDisposable

Properties

AreChildrenLoaded

Indicates whether the Children collection is loaded.

bool AreChildrenLoaded { get; }

Property Value

bool:

true if the Children collection is loaded; otherwise, false.

Remarks

Since the Children collection is lazy-loaded when called, this property returns whether it has been loaded without triggering a load.

CanCreateChildFolder

Indicates whether the shell object can create a child folder.

bool CanCreateChildFolder { get; }

Property Value

bool:

true if the shell object can create a child folder; otherwise, false.

Remarks

Only shell folders can create child folders.

CanHaveChildFolders

Indicates whether the shell object may have child folders.

bool CanHaveChildFolders { get; }

Property Value

bool:

true if the shell object may have child folders; otherwise, false.

Remarks

Some shell objects can immediately return that they don't have any child folders, whereas others might require a query to determine if there are any.

CanRename

Indicates whether the shell object may be renamed.

bool CanRename { get; }

Property Value

bool:

true if the shell object may be renamed; otherwise, false.

Children

The collection of child shell objects.

IList<IShellObject> Children { get; }

Property Value

IList<IShellObject>

EditingName

The full user-friendly editing name of the shell object, if available.

string? EditingName { get; }

Property Value

string

Remarks

This value is usually the same as FileSystemPath, except that it can also return a special value to identify special shell objects.

ExtraLargeIcon

The extra-large icon.

ImageSource? ExtraLargeIcon { get; set; }

Property Value

ImageSource

ExtraLargeIconOverlay

The extra-large icon overlay.

ImageSource? ExtraLargeIconOverlay { get; set; }

Property Value

ImageSource

ExtraLargeThumbnail

The extra-large thumbnail.

ImageSource? ExtraLargeThumbnail { get; set; }

Property Value

ImageSource

FileSystemPath

The file system path of the shell object, if available.

string? FileSystemPath { get; }

Property Value

string

IsFolder

Indicates whether the shell object is a folder, which is anything that can contain other shell objects.

bool IsFolder { get; }

Property Value

bool:

true if the shell object is a folder, which is anything that can contain other shell objects; otherwise, false.

Indicates whether the shell object is a link, meaning a shortcut to another shell object.

bool IsLink { get; }

Property Value

bool:

true if the shell object is a link, meaning a shortcut to another shell object; otherwise, false.

IsRemovable

Indicates whether the shell object is on removable media or is a removable device.

bool IsRemovable { get; }

Property Value

bool:

true if the shell object is on removable media or is a removable device; otherwise, false.

IsVirtual

Indicates whether the shell object is not part of the file system (files, directories, or root directories).

bool IsVirtual { get; }

Property Value

bool:

true if the shell object is not part of the file system (files, directories, or root directories); otherwise, false.

IsWatching

Indicates whether the shell object's tree hierarchy is currently watching for change notifications.

bool IsWatching { get; }

Property Value

bool:

true if the shell object's tree hierarchy is currently watching for change notifications; otherwise, false.

Kind

A ShellObjectKind that specifies the kind of this shell object.

ShellObjectKind Kind { get; }

Property Value

ShellObjectKind

LargeIcon

The large icon.

ImageSource? LargeIcon { get; set; }

Property Value

ImageSource

LargeIconOverlay

The large icon overlay.

ImageSource? LargeIconOverlay { get; set; }

Property Value

ImageSource

LargeThumbnail

The large thumbnail.

ImageSource? LargeThumbnail { get; set; }

Property Value

ImageSource

MediumIcon

The medium icon.

ImageSource? MediumIcon { get; set; }

Property Value

ImageSource

MediumIconOverlay

The medium icon overlay.

ImageSource? MediumIconOverlay { get; set; }

Property Value

ImageSource

MediumThumbnail

The medium thumbnail.

ImageSource? MediumThumbnail { get; set; }

Property Value

ImageSource

Name

The name of the shell object.

string? Name { get; set; }

Property Value

string

ParsingName

The full parsing name of the shell object, if available.

string? ParsingName { get; }

Property Value

string

Remarks

This value is usually the same as FileSystemPath, except that it can also return a special syntax to identify special shell objects.

RelativeParsingName

The parent-relative parsing name of the shell object, if available.

string? RelativeParsingName { get; }

Property Value

string

Remarks

This value is usually the same as Name, except that it can also return a special syntax to identify special shell objects.

ShellService

The IShellService used to return this shell object's children.

IShellService? ShellService { get; }

Property Value

IShellService

SmallIcon

The small icon.

ImageSource? SmallIcon { get; set; }

Property Value

ImageSource

SmallIconOverlay

The small icon overlay.

ImageSource? SmallIconOverlay { get; set; }

Property Value

ImageSource

SortOrder

A numeric sort order for sorting the shell object within other shell objects.

int SortOrder { get; set; }

Property Value

int:

A numeric sort order for sorting the shell object within other shell objects. The default value is 0.

SpecialFolderKind

A SpecialFolderKind that specifies kind of special folder represented by this shell object, if applicable.

SpecialFolderKind SpecialFolderKind { get; }

Property Value

SpecialFolderKind

ToolTip

The tool-tip object that is displayed for this shell object in the user interface (UI).

object? ToolTip { get; set; }

Property Value

object

Methods

CreateChildFolder(string)

Creates a child folder with the specified name.

bool CreateChildFolder(string name)
Parameter Type Description
name string

The name of the child folder.

Returns

bool:

true if the child folder was created; otherwise, false.

Remarks

Only shell folders can create child folders.

RefreshChildren()

Refreshes the Children collection.

void RefreshChildren()

StartWatching()

Starts watching the shell object's tree hierarchy for change notifications.

bool StartWatching()

Returns

bool:

true if the shell object is watching its tree hierarchy; otherwise, false.

StopWatching()

Stops watching the shell object's tree hierarchy for change notifications.

void StopWatching()

Events

Changed

Occurs when the shell object has changed.

event EventHandler<ShellObjectChangedEventArgs> Changed

Event Type

EventHandler<ShellObjectChangedEventArgs>

Inherited Members

Extension Methods