readme.md

March 31, 2026 ยท View on GitHub

Assembly report for Vanara.Windows.Shell.Common.dll

Common classes for Windows Shell items derived from the Vanara PInvoke libraries. Includes shell items, files, icons, links, and taskbar lists.

Dependencies

  • Vanara.PInvoke.SearchApi
  • Vanara.Windows.Extensions

Enumerations

EnumDescriptionValues
Vanara.Windows.Shell.ChangeFiltersChanges that might occur to a shell item or folder.ItemRenamed, ItemCreated, ItemDeleted, FolderCreated, FolderDeleted, MediaInserted, MediaRemoved, DriveRemoved, DriveAdded, FolderShared, FolderUnshared, Attributes, FolderUpdated, ItemUpdated, ServerDisconnected, SystemImageUpdated, DriveAddedInteractive, FolderRenamed, AllDiskEvents, DriveFreeSpaceChanged, ExtendedEvent, FileAssociationChanged, AllGlobalEvents, AllEvents
Vanara.Windows.Shell.ShellFileOperationDialog.DialogStatusProvides operation status flags for ShellFileOperationDialog.NotStarted, Running, Paused, Cancelled, Stopped, Errors
Vanara.Windows.Shell.ExecutableTypeSpecifies the executable file type.Nonexecutable, DOS, Win32Console, Windows
Vanara.Windows.Shell.FileUsageTypeConstants used to indicate how a file in use is being used.Playing, Editing, Generic
Vanara.Windows.Shell.FolderItemFilterA filter for the types of children to enumerate.Folders, NonFolders, IncludeHidden, Printers, Shareable, Storage, FastItems, FlatList, IncludeSuperHidden
Vanara.Windows.Shell.LibraryFolderFilterDefines options for filtering folder items.FileSystemOnly, StorageObjects, AllItems
Vanara.Windows.Shell.LibraryViewTemplateDefines the type of view assigned to a library folder.Documents, General, Music, Pictures, Videos, Custom
Vanara.Windows.Shell.LinkResolutionFlags determining how the links with missing targets are resolved.None, NoUI, AnyMatch, Update, NoUpdate, NoSearch, NoTrack, NoLinkInfo, InvokeMSI, NoUIWithMsgPump, OfferDeleteWithoutFile, KnownFolder, MachineInLocalTarget, UpdateMachineAndSid, NoObjectID
Vanara.Configuration.MRUManager.MenuPlacementThe placement of a menu item in a list.Bottom, Top
Vanara.Windows.Shell.ShellFileOperations.OperationFlagsFlags that control the file operation.MultiDestFiles, Silent, RenameOnCollision, NoConfirmation, WantMappingHandle, AllowUndo, FilesOnly, SimpleProgress, NoConfirmMkDir, NoErrorUI, NoUI, NoCopySecurityAttribs, NoRecursion, NoConnectedElements, WantNukeWarning, NoSkipJunctions, PreferHardLink, ShowElevationPrompt, RecycleOnDelete, EarlyFailure, PreserveFileExtensions, KeepNewerFile, NoCopyHooks, NoMinimizeBox, MoveACLsAcrossVolumes, DontDisplaySourcePath, DontDisplayDestPath, RequireElevation, AddUndoRecord, CopyAsDownload, DontDisplayLocations
Vanara.Windows.Shell.ShellFileOperationDialog.OperationModeFlags used in ModeDefault, Running, Starting, Undoing, BlockedByErrors, Indeterminate
Vanara.Windows.Shell.ShellFileOperationDialog.OperationTypeDescribes an action being performed that requires progress to be shown to the user using progress dialog.None, Moving, Copying, Recycling, ApplyingAttributes, Downloading, SearchingInternet, Calculating, Uploading, SearchingFiles, Deleting, Renaming, Formatting, CopyMoving
Vanara.Windows.Shell.ShellIconTypeThe type of icon to be returned from Vanara.Windows.Shell.ShellFileInfo.GetIcon(Vanara.Windows.Shell.ShellIconType).Large, Small, Open, ShellDefinedSize, LinkOverlay, Selected
Vanara.Windows.Shell.ShellImageSizeUsed to determine the size of the icon returned by ShellImageList.GetSystemIcon.Large, Small, ExtraLarge, SystemSmall, Jumbo
Vanara.Windows.Shell.ShellItemAttributeAttributes that can be retrieved on an item (file or folder) or set of items using Vanara.Windows.Shell.ShellItem.Attributes.CanCopy, CanMove, CanLink, Storage, CanRename, CanDelete, HasPropSheet, DropTarget, CapabilityMask, System, Encrypted, IsSlow, Ghosted, Link, Share, ReadOnly, Hidden, DisplayAttrMask, NonEnumerated, NewContent, CanMoniker, HasStorage, Stream, StorageAncestor, Validate, Removable, Compressed, Browsable, FileSysAncestor, Folder, FileSystem, StorageCapMask, HasSubfolder, ContentsMask, PKEYMask
Vanara.Windows.Shell.ShellItemComparisonUsed to determine how to compare two Shell items. ShellItem.Compare uses this enumerated type.Display, Canonical, SecondaryFileSystemPath, AllFields
Vanara.Windows.Shell.ShellItemDisplayStringRequests the form of an item's display name to retrieve through Vanara.Windows.Shell.ShellItem.GetDisplayName(Vanara.Windows.Shell.ShellItemDisplayString).NormalDisplay, ParentRelativeParsing, DesktopAbsoluteParsing, ParentRelativeEditing, DesktopAbsoluteEditing, FileSysPath, Url, ParentRelativeForAddressBar, ParentRelative, ParentRelativeForUI
Vanara.Windows.Shell.ShellItemGetImageOptionsOptions for retrieving images from a Vanara.Windows.Shell.ShellItem.ResizeToFit, BiggerSizeOk, MemoryOnly, IconOnly, ThumbnailOnly, InCacheOnly, CropToSquare, WideThumbnails, IconBackground, ScaleUp
Vanara.Windows.Shell.ShellItemToolTipOptionsFlags that direct the handling of the item from which you're retrieving the info tip text.Default, Name, LinkNotTarget, LinkTarget, AllowDelay, SingleLine
Vanara.Windows.Shell.TaskbarButtonProgressStateState of the progress shown on a taskbar button.None, Indeterminate, Normal, Error, Paused
Vanara.Windows.Shell.ShellFileOperations.TransferFlagsUsed by methods of the ITransferSource and ITransferDestination interfaces to control their file operations.Normal, FailExist, RenameExist, OverwriteExist, AllowDecryption, NoSecurity, CopyCreationTime, CopyWriteTime, UseFullAccess, DeleteRecycleIfPossible, CopyHardLink, CopyLocalizedName, MoveAsCopyDelete, SuspendShellEvents
Vanara.Windows.Shell.VerbMultiSelectModelA value that determines if a user can select a single item, multiple items, or a selection from an item.Unset, Player, Single, Document
Vanara.Windows.Shell.VerbPositionDetermines the placement of a verb in a menu.Undefined, Top, Bottom
Vanara.Windows.Shell.VerbSelectionModelDetermines menu location.Item, BackgroundShortcutMenu
Vanara.Windows.Shell.WallpaperFitSpecifies how the desktop wallpaper should be displayed.Center, Tile, Stretch, Fit, Fill, Span

Interfaces

InterfaceDescription
Vanara.Windows.Shell.IComObjectExposed methods from Vanara.Windows.Shell.ComObject.
Vanara.Configuration.MRUManager.IFileListStorageDefines a class that implements storage for an MRU file list.
Vanara.Windows.Shell.IJumpListItemRepresents a Jump List item.
Vanara.Configuration.MRUManager.IMenuBuilderDefines a class that implements a menu handler for an MRU file list.

Classes

ClassDescription
Vanara.Windows.ExtenderProviderBase<T>.AddExtenderEventArgsArguments for the Vanara.Windows.ExtenderProviderBase.AddingExtender event.
Vanara.Windows.Shell.Registration.AppRegistrationRepresents the registration entries for an application.
Vanara.Configuration.MRUManager.AppSettingsFileListStorageStorage in the local application settings.
Vanara.Windows.Shell.BindContextWraps the System.Runtime.InteropServices.ComTypes.IBindCtx COM type.
Vanara.Windows.Shell.ComClassFactoryAn implementation of Vanara.PInvoke.Ole32.IClassFactory to be used in conjunction with Vanara.Windows.Shell.IComObject derivatives.
Vanara.Windows.Shell.CommandVerbEncapsulates a shortcut menu verb in the registry.
Vanara.Windows.Shell.CommandVerbDictionaryA dictionary of Command Verbs defined in the Windows Registry.
Vanara.Windows.Shell.ComObjectBase class for all COM objects which handles calling AddRef and Release for the assembly, connection to IClassFactory, implements IObjectWithSite, using an internal message loop, and a mechanism to issue a non-blocking call to itself. Once implemented, you only need to implement your own interfaces. The IClassFactory implementation can get any derived interfaces through casting for calls to its QueryInterface method. If you want more control, override the QueryInterface method in this class.
Vanara.Windows.Shell.ComObjWrapper<T>
Vanara.Windows.Shell.ControlPanelProvides a means to open Control Panel items and get their paths.
Vanara.Windows.Shell.DragEventArgsProvides data for the Vanara.Windows.Shell.ShellDropTarget.DragDrop, Vanara.Windows.Shell.ShellDropTarget.DragEnter, or Vanara.Windows.Shell.ShellDropTarget.DragOver event.
Vanara.Windows.ExtenderProviderBase<T>A generic base to implement System.ComponentModel.IExtenderProvider for a single extender type.
Vanara.Windows.Shell.FileInUseHandlerA handler for applications that open file types that can be opened by other applications. An application's use of this object enables Windows Explorer to discover the source of sharing errors, which enables users to address and retry operations that fail due to those errors. This object handles registering the file with the Running Object Table (see Vanara.PInvoke.Ole32.IRunningObjectTable). It will revoke that registration on disposal or when the Vanara.Windows.Shell.FileInUseHandler.Registered property is set to .
Vanara.Windows.Shell.Registration.FileTypeAssociationManages registry entries related to file types and file associations.
Vanara.Windows.Shell.IconLocationWraps the icon location string used by some Shell classes.
Vanara.Windows.Shell.JumpListProvides access to the jump list on the application's task bar icon.
Vanara.Windows.Shell.JumpListDestinationA file-based destination for a jumplist with an associated category.
Vanara.Windows.Shell.JumpListItemAn item in a Jump List.
Vanara.Windows.Shell.JumpListSeparatorA separator which can be inserted into a custom list or task list.
Vanara.Windows.Shell.JumpListTaskA task for a jumplist.
Vanara.Windows.Shell.MemoryPropertyStoreAn in-memory property store.
Vanara.Windows.Shell.MenuCreatedEventArgsEvent arguments for Vanara.Windows.Shell.ShellContextMenu.MenuCreated events giving access to the menu handle that was created and filled by the system.
Vanara.Windows.Shell.ShellContextMenu.MenuItemInfoProvides information about a single menu entry discovered in a native menu.
Vanara.PInvoke.MessageLoop.MessageEventArgsHolds a copy of the MSG instance retrieved by GetMessage.
Vanara.PInvoke.MessageLoop

This class encapsulates the management of a message loop for an application. It supports queuing a callback to the application via the message loop to enable the app to return from a call and continue processing that call later. This behavior is needed when implementing a shell verb as verbs must not block the caller.

The ComObject derived class should call QueueNonBlockingCallback in its invoke function, for example IExecuteCommand::Execute() or IDropTarget::Drop() passing a method that will complete the initialization work.
Vanara.Configuration.MRUManagerA class that manages a Most Recently Used file listing.
Vanara.Windows.Shell.NativeClipboardStatic class with methods to interact with the Clipboard.
Vanara.Windows.Shell.ProgIdRepresents a programmatic identifier in the registry for an application.
Vanara.Windows.Shell.PropertyBagEncapsulates an Vanara.PInvoke.OleAut32.IPropertyBag instance.
Vanara.Windows.Shell.PropertyDescriptionEnumerate and retrieve individual property description details. Wraps the Vanara.PInvoke.PropSys.IPropertyDescription shell interface
Vanara.Windows.Shell.PropertyDescriptionListExposes methods that extract information from a collection of property descriptions presented as a list.
Vanara.Windows.Shell.PropertyStoreEncapsulates the IPropertyStore object.
Vanara.Windows.Shell.PropertyTypeExposes methods that extract data from enumeration information.
Vanara.Windows.Shell.PropertyTypeListExposes methods that enumerate the possible values for a property.
Vanara.Windows.Shell.RecycleBinA static object that represents the system Recycle Bin.
Vanara.Windows.Shell.RegBasedDictionary<T>A virtual dictionary that is based on values in the Windows Registry.
Vanara.Windows.Shell.RegBasedSettingsBase class for registry based settings.
Vanara.Configuration.MRUManager.RegistryFileListStorage
Vanara.Windows.Shell.SearchConditionProvides properties and methods for retrieving information about a search condition.
Vanara.Windows.Shell.ShellAssociationRepresents a Shell file association defined in the Windows Registry. Wraps Vanara.PInvoke.ShlwApi.IQueryAssociations.
Vanara.Windows.Shell.ShellAssociation.ShellAssociationHandlerRepresents a handler (executable) for a Vanara.Windows.Shell.ShellAssociation.
Vanara.Windows.Shell.ShellCommandWraps the functionality of IInitializeCommand. When deriving, handling the Vanara.Windows.Shell.ShellCommand.InitializeCommand event is optional.
Vanara.Windows.Shell.ShellContextMenuProvides support for displaying the context menu of a shell item.
Vanara.Windows.Shell.ShellDataTableRepresents a System.Data.DataTable that is populated asynchronously with information about shell items.
Vanara.Windows.Shell.ShellDropTargetCOM object that implements IDropTarget. Solves race problem on drop and simplifies interface calls. All IDropTarget methods call their equivalent On[MethodName] equivalents. To specialize their handling, simply override the On[MethodName] method or hook an event to the corresponding event.
Vanara.Windows.Shell.ShellExecuteCommandWraps the functionality of IExecuteCommand. To implement, derive from this class and override the Vanara.Windows.Shell.ShellExecuteCommand.OnExecute method. All Shell items passed to the command are available through the Vanara.Windows.Shell.ShellExecuteCommand.SelectedItems property.
Vanara.Windows.Shell.ShellFileInfoInformation and icons for any shell file.
Vanara.Windows.Shell.ShellFileOperations.ShellFileNewOpEventArgsArguments supplied to the Vanara.Windows.Shell.ShellFileOperations.PostNewItem event.
Vanara.Windows.Shell.ShellFileOperationDialogThe Shell's progress dialog.
Vanara.Windows.Shell.ShellFileOperationsQueued and static file operations using the Shell.
Vanara.Windows.Shell.ShellFileOperations.ShellFileOpEventArgsArguments supplied to events from Vanara.Windows.Shell.ShellFileOperations. Depending on the event, some properties may not be set.
Vanara.Windows.Shell.ShellFolderA folder or container of Vanara.Windows.Shell.ShellItem instances.
Vanara.Windows.Shell.ShellFolderCategorizerExposes a list of categorizers registered on an IShellFolder.
Vanara.Windows.Shell.ShellFolderCategoryA shell folder category object.
Vanara.Windows.Shell.ShellIconExtractedEventArgsEvent arguments that expose an ID list and associated image.
Vanara.Windows.Shell.ShellIconExtractorClass that simplifies extracting icons from items in a Shell Folder.
Vanara.Windows.Shell.ShellImageListRepresents the System Image List holding images for all shell icons.
Vanara.Windows.Shell.ShellItemEncapsulates an item in the Windows Shell.
Vanara.Windows.Shell.ShellItemArrayA folder or container of Vanara.Windows.Shell.ShellItem instances.
Vanara.Windows.Shell.ShellItemChangeWatcher.ShellItemChangeEventArgsProvides data for Vanara.Windows.Shell.ShellItemChangeWatcher events.
Vanara.Windows.Shell.ShellItemChangeWatcherListens to the shell item change notifications and raises events when a folder, or item in a folder, changes.
Vanara.Windows.Shell.ShellItemImagesExposes methods that get images related to shell items.
Vanara.Windows.Shell.ShellItemPropertyStoreA property store for a Vanara.Windows.Shell.ShellItem.
Vanara.Windows.Shell.ShellItemPropertyUpdatesA dictionary of properties that can be used to set or update property values on Shell items via the Vanara.Windows.Shell.ShellFileOperations.QueueApplyPropertiesOperation(Vanara.Windows.Shell.ShellItem,Vanara.Windows.Shell.ShellItemPropertyUpdates) method. This class wraps the Vanara.Windows.Shell.ShellItemPropertyUpdates.IPropertyChangeArray COM interface.
Vanara.Windows.Shell.ShellLibraryShell library encapsulation.
Vanara.Windows.Shell.ShellLibrary.ShellLibraryFoldersFolders of a Vanara.Windows.Shell.ShellLibrary.
Vanara.Windows.Shell.ShellLinkRepresents a Shell Shortcut (.lnk) file.
Vanara.Windows.Shell.ShellNavigationHistoryThe navigation log is a history of the locations visited by a shell view object.
Vanara.Windows.Shell.ShellRegistrarContains static methods used to register and unregister shell items in the Windows Registry.
Vanara.Windows.Shell.ShellSearchRepresents functionality of the Windows Search Service.
Vanara.Windows.Shell.ShellSearchViewSettingsSettings that change the folder view of a search.
Vanara.Windows.Shell.StockIconRepresents a standard system icon.
Vanara.Windows.Shell.TaskBar.TaskbarProvides information about and some control of the system taskbar.
Vanara.Windows.Shell.TaskbarListMethods that control the Windows taskbar. It allows you to dynamically add, remove, and activate items on the taskbar. This wraps all of the ITaskbarListX interfaces.
Vanara.Windows.Shell.TaskBar.TrayIcon
Vanara.Windows.Shell.UtilsUtility methods for shell functions.
Vanara.Windows.Shell.WallpaperManagerProvides methods for managing the desktop wallpaper.
Vanara.Windows.Shell.WallpaperManager.WallpaperMonitorRepresents the wallpaper settings on a single monitor.
Vanara.Windows.Shell.WallpaperManager.WallpaperSlideshowRepresents the settings for a wallpaper slideshow.