Componentes.Terceros.Mustan.../official/1.7.0/Common Library/Source/MPShellUtilities.hpp
david 778b05bf9f Importación inicial
- Mustangpeak Common Library - 1.7.0
  - EasyListview - 1.7.0

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.Mustangpeak@2 60b41242-d4b9-2247-b156-4ccd40706241
2007-09-11 08:33:06 +00:00

1313 lines
68 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Mpshellutilities.pas' rev: 11.00
#ifndef MpshellutilitiesHPP
#define MpshellutilitiesHPP
#pragma delphiheader begin
#pragma option push
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp> // Pascal unit
#include <Sysinit.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <Messages.hpp> // Pascal unit
#include <Sysutils.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Graphics.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <Forms.hpp> // Pascal unit
#include <Imglist.hpp> // Pascal unit
#include <Shlobj.hpp> // Pascal unit
#include <Shellapi.hpp> // Pascal unit
#include <Activex.hpp> // Pascal unit
#include <Registry.hpp> // Pascal unit
#include <Mpshelltypes.hpp> // Pascal unit
#include <Mpcommonobjects.hpp> // Pascal unit
#include <Mpcommonutilities.hpp> // Pascal unit
#include <Mpthreadmanager.hpp> // Pascal unit
#include <Mpresources.hpp> // Pascal unit
#include <Mpdataobject.hpp> // Pascal unit
#include <Variants.hpp> // Pascal unit
#include <Contnrs.hpp> // Pascal unit
#include <Menus.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Mpshellutilities
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TDefaultFolderIcon { diNormalFolder, diOpenFolder, diUnknownFile, diLink, diMyDocuments };
#pragma option pop
#pragma option push -b-
enum TMPBrowseFlag { mpbfComputers, mpbfPrinters, mpbfDontGoBelowDomain, mpbfFileSysAncestors, mpbfFileSysFolder, mpbfIncludeFiles, mpbfNewStyleDialog, mpbfEditBox, mpbfIncludeURLs, mpbfSharable, mpbfMustExist };
#pragma option pop
typedef Set<TMPBrowseFlag, mpbfComputers, mpbfMustExist> TMPBrowseFlags;
#pragma option push -b-
enum TNamespaceState { nsFreePIDLOnDestroy, nsIsRecycleBin, nsRecycleBinChecked, nsOwnsParent, nsShellDetailsSupported, nsShellFolder2Supported, nsShellOverlaySupported, nsThreadedIconLoaded, nsThreadedIconLoading, nsThreadedImageLoaded, nsThreadedImageLoading, nsThreadedImageResizing, nsThreadedTileInfoLoaded, nsThreadedTileInfoLoading, nsIconIndexChanged };
#pragma option pop
typedef Set<TNamespaceState, nsFreePIDLOnDestroy, nsIconIndexChanged> TNamespaceStates;
typedef HRESULT __stdcall (*TSHLimitInputEdit)(HWND hWndEdit, _di_IShellFolder psf);
typedef IShellDetailsBCB6 IVETShellDetails;
;
#pragma option push -b-
enum MPShellUtilities__1 { scInFolderName, scNormalName, scParsedName, scSmallIcon, scSmallOpenIcon, scOverlayIndex, scCreationTime, scLastAccessTime, scLastWriteTime, scFileSize, scFileSizeKB, scFileSizeInt64, scFileType, scInvalidIDListData, scFileSystem, scFolder, scCanDelete, scCanRename, scGhosted, scCanCopy, scCanMove, scCanLink, scLink, scFileSysAncestor, scCompressed, scFileTimes, scSupportedColumns, scFolderSize, scVirtualHook, scHookedNamespace, scVirtualNamespace, scRootVirtualNamespace, scHardHookedNamespace, scDetailsOfCache, scBrowsable };
#pragma option pop
typedef Set<MPShellUtilities__1, scInFolderName, scBrowsable> TShellCache;
#pragma option push -b-
enum MPShellUtilities__2 { caFileSystem, caFolder, caCanDelete, caCanRename, caGhosted, caCanCopy, caCanMove, caCanLink, caLink, caFileSysAncestor, caCompressed, caVirtualHook, caHookedNamespace, caVirtualNamespace, caRootVirtualNamespace, caHardHookedNamespace, caBrowsable };
#pragma option pop
typedef Set<MPShellUtilities__2, caFileSystem, caBrowsable> TCacheAttributes;
#pragma option push -b-
enum TSHColumnState { csTypeString, csTypeInt, csTypeDate, csOnByDefault, csSlow, csExtended, csSecondaryUI, csHidden };
#pragma option pop
typedef Set<TSHColumnState, csTypeString, csHidden> TSHColumnStates;
#pragma option push -b-
enum THotKeyModifier { hkmAlt, hkmControl, hkmExtendedKey, hkmShift };
#pragma option pop
typedef Set<THotKeyModifier, hkmAlt, hkmShift> THotKeyModifiers;
#pragma option push -b-
enum TCmdShow { swHide, swMaximize, swMinimize, swRestore, swShow, swShowDefault, swShowMinimized, swShowMinNoActive, swShowNA, swShowNoActive, swShowNormal };
#pragma option pop
#pragma option push -b-
enum TIconSize { icSmall, icLarge };
#pragma option pop
#pragma option push -b-
enum TFileSort { fsFileType, fsFileExtension };
#pragma option pop
#pragma option push -b-
enum TObjectDescription { odError, odRootRegistered, odFile, odDirectory, odUnidentifiedFileItem, od35Floppy, od525Floppy, odRemovableDisk, odFixedDrive, odMappedDrive, odCDROMDrive, odRAMDisk, odUnidentifiedDevice, odNetworkDomain, odNetworkServer, odNetworkShare, odNetworkRestOfNet, odUnidentifiedNetwork, odComputerImaging, odComputerAudio, odShareDocuments };
#pragma option pop
#pragma option push -b-
enum TDetailsColumnTitleInfo { tiCenterAlign, tiLeftAlign, tiRightAlign, tiContainsImage };
#pragma option pop
#pragma option push -b-
enum MPShellUtilities__3 { foFolders, foNonFolders, foHidden, foShareable, foNetworkPrinters };
#pragma option pop
typedef Set<MPShellUtilities__3, foFolders, foNetworkPrinters> TFileObjects;
typedef DynamicArray<Mpshelltypes::tagSHCOLUMNID > TSHColumnIDArray;
typedef DynamicArray<GUID > TGUIDArray;
typedef DynamicArray<WideString > TWideStringArray;
typedef DynamicArray<Mpshelltypes::_di_ICategorizer > TCategoryArray;
#pragma pack(push,4)
struct TCategoryInfo
{
public:
WideString Description;
bool Collapsed;
bool Hidden;
} ;
#pragma pack(pop)
typedef DynamicArray<TCategoryInfo > TCategoryInfoArray;
typedef DynamicArray<bool > TBooleanArray;
#pragma pack(push,4)
struct TCategoriesInfo
{
public:
DynamicArray<Mpshelltypes::tagSHCOLUMNID > ColumnID;
DynamicArray<GUID > CatGUID;
DynamicArray<WideString > CategoryNames;
DynamicArray<TCategoryInfo > Categories;
DynamicArray<bool > CanCatatorize;
int DefaultColumn;
int CategoryCount;
} ;
#pragma pack(pop)
#pragma option push -b-
enum TBtyeSize { bsKiloBytes, bsMegaBytes, bsGigiBytes, bsTereBytes, bsCustom };
#pragma option pop
typedef DynamicArray<unsigned > TMenuItemIDArray;
typedef DynamicArray<Word > TVisibleColumnIndexArray;
#pragma option push -b-
enum TDetailsOfCacheFlag { docCaptionValid, docStatesValid, docThreadLoading, docThreadLoaded };
#pragma option pop
typedef Set<TDetailsOfCacheFlag, docCaptionValid, docThreadLoaded> TDetailsOfCacheFlags;
struct TDetailsOfCacheRec;
typedef TDetailsOfCacheRec *PDetailsOfCacheRec;
#pragma pack(push,1)
struct TDetailsOfCacheRec
{
public:
TDetailsOfCacheFlags Cached;
WideString Caption;
TSHColumnStates States;
} ;
#pragma pack(pop)
typedef DynamicArray<TDetailsOfCacheRec > TDetailsOfCacheArray;
#pragma pack(push,1)
struct TCacheData
{
public:
TCacheAttributes Attributes;
int SmallIcon;
int SmallOpenIcon;
WideString InFolderName;
WideString NormalName;
WideString ParsedName;
WideString CreationTime;
WideString LastAccessTime;
WideString LastWriteTime;
WideString FileSize;
WideString FileSizeKB;
WideString FileType;
__int64 FileSizeInt64;
int SupportedColumns;
__int64 FolderSize;
int OverlayIndex;
int OverlayIconIndex;
DynamicArray<TDetailsOfCacheRec > DetailsOfCache;
} ;
#pragma pack(pop)
#pragma pack(push,1)
struct TShellCacheRec
{
public:
TShellCache ShellCacheFlags;
TCacheData Data;
} ;
#pragma pack(pop)
struct TSHGetFileInfoRec;
typedef TSHGetFileInfoRec *PSHGetFileInfoRec;
#pragma pack(push,1)
struct TSHGetFileInfoRec
{
public:
WideString FileType;
} ;
#pragma pack(pop)
#pragma option push -b-
enum TShellContextMenuFlag { cmfCanRename, cmfDefaultOnly, cmfExplore, cmfExtendedVerbs, cmfIncludeStatic, cmfItemMenu, cmfNoDefault, cmfNormal, cmfNoVerbs, cmfVerbsOnly };
#pragma option pop
typedef Set<TShellContextMenuFlag, cmfCanRename, cmfVerbsOnly> TShellContextMenuFlags;
class DELPHICLASS TNamespace;
typedef DynamicArray<TNamespace* > TNamespaceArray;
class DELPHICLASS TCommonShellContextMenu;
typedef void __fastcall (__closure *TCommonShellMenuEvent)(TCommonShellContextMenu* Sender);
typedef void __fastcall (__closure *TCommonShellMenuInvokeEvent)(TCommonShellContextMenu* Sender, Menus::TMenuItem* MenuItem, Shlobj::PCMInvokeCommandInfo InvokeInfo, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuMergeEvent)(TCommonShellContextMenu* Sender, HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
typedef void __fastcall (__closure *TCommonShellMenuItemEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuNewItemEvent)(TCommonShellContextMenu* Sender, TNamespace* NS);
typedef void __fastcall (__closure *TCommonShellMenuCopyEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuCreateShortcutEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuCutEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuDeleteEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuNewFolderEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuPasteEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuPasteLinkEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuPasteShortCutEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
typedef void __fastcall (__closure *TCommonShellMenuProperitesEvent)(TCommonShellContextMenu* Sender, _di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &Handled);
class DELPHICLASS EVSTInvalidFileName;
class PASCALIMPLEMENTATION EVSTInvalidFileName : public Sysutils::Exception
{
typedef Sysutils::Exception inherited;
public:
#pragma option push -w-inl
/* Exception.Create */ inline __fastcall EVSTInvalidFileName(const AnsiString Msg) : Sysutils::Exception(Msg) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmt */ inline __fastcall EVSTInvalidFileName(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateRes */ inline __fastcall EVSTInvalidFileName(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmt */ inline __fastcall EVSTInvalidFileName(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateHelp */ inline __fastcall EVSTInvalidFileName(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmtHelp */ inline __fastcall EVSTInvalidFileName(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResHelp */ inline __fastcall EVSTInvalidFileName(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmtHelp */ inline __fastcall EVSTInvalidFileName(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~EVSTInvalidFileName(void) { }
#pragma option pop
};
class DELPHICLASS TStreamableClass;
class PASCALIMPLEMENTATION TStreamableClass : public Classes::TPersistent
{
typedef Classes::TPersistent inherited;
private:
int FStreamVersion;
public:
__fastcall TStreamableClass(void);
virtual void __fastcall LoadFromFile(WideString FileName, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall LoadFromStream(Classes::TStream* S, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall SaveToFile(WideString FileName, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall SaveToStream(Classes::TStream* S, int Version = 0x0, bool WriteVerToStream = false);
__property int StreamVersion = {read=FStreamVersion, nodefault};
public:
#pragma option push -w-inl
/* TPersistent.Destroy */ inline __fastcall virtual ~TStreamableClass(void) { }
#pragma option pop
};
class DELPHICLASS TStreamableList;
class PASCALIMPLEMENTATION TStreamableList : public Classes::TList
{
typedef Classes::TList inherited;
private:
int FStreamVersion;
public:
__fastcall TStreamableList(void);
virtual void __fastcall LoadFromFile(WideString FileName, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall LoadFromStream(Classes::TStream* S, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall SaveToFile(WideString FileName, int Version = 0x0, bool ReadVerFromStream = false);
virtual void __fastcall SaveToStream(Classes::TStream* S, int Version = 0x0, bool WriteVerToStream = false);
__property int StreamVersion = {read=FStreamVersion, nodefault};
public:
#pragma option push -w-inl
/* TList.Destroy */ inline __fastcall virtual ~TStreamableList(void) { }
#pragma option pop
};
class DELPHICLASS TReferenceCounted;
class PASCALIMPLEMENTATION TReferenceCounted : public System::TObject
{
typedef System::TObject inherited;
protected:
int FRefCount;
public:
void __fastcall AddRef(void);
void __fastcall Release(void);
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TReferenceCounted(void) : System::TObject() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TReferenceCounted(void) { }
#pragma option pop
};
class DELPHICLASS TReferenceCountedList;
class PASCALIMPLEMENTATION TReferenceCountedList : public Classes::TList
{
typedef Classes::TList inherited;
protected:
int FRefCount;
public:
void __fastcall AddRef(void);
void __fastcall Release(void);
__property int RefCount = {read=FRefCount, nodefault};
public:
#pragma option push -w-inl
/* TList.Destroy */ inline __fastcall virtual ~TReferenceCountedList(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TReferenceCountedList(void) : Classes::TList() { }
#pragma option pop
};
class DELPHICLASS TExtractImage;
class PASCALIMPLEMENTATION TExtractImage : public System::TObject
{
typedef System::TObject inherited;
private:
unsigned FFlags;
unsigned FPriority;
unsigned FHeight;
unsigned FWidth;
unsigned FColorDepth;
Mpshelltypes::_di_IExtractImage FExtractImageInterface;
Mpshelltypes::_di_IExtractImage2 FExtractImage2Interface;
TNamespace* FOwner;
bool FPathExtracted;
Graphics::TBitmap* __fastcall GetImage(void);
WideString __fastcall GetImagePath();
Mpshelltypes::_di_IExtractImage __fastcall GetExtractImageInterface();
Mpshelltypes::_di_IExtractImage2 __fastcall GetExtractImageInterface2();
protected:
__property bool PathExtracted = {read=FPathExtracted, write=FPathExtracted, nodefault};
public:
__fastcall TExtractImage(void);
__property unsigned ColorDepth = {read=FColorDepth, write=FColorDepth, nodefault};
__property WideString ImagePath = {read=GetImagePath};
__property Graphics::TBitmap* Image = {read=GetImage};
__property Mpshelltypes::_di_IExtractImage ExtractImageInterface = {read=GetExtractImageInterface};
__property Mpshelltypes::_di_IExtractImage2 ExtractImage2Interface = {read=GetExtractImageInterface2};
__property unsigned Flags = {read=FFlags, write=FFlags, nodefault};
__property unsigned Height = {read=FHeight, write=FHeight, nodefault};
__property TNamespace* Owner = {read=FOwner, write=FOwner};
__property unsigned Priority = {read=FPriority, nodefault};
__property unsigned Width = {read=FWidth, write=FWidth, nodefault};
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TExtractImage(void) { }
#pragma option pop
};
class DELPHICLASS TVirtualShellLink;
class PASCALIMPLEMENTATION TVirtualShellLink : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
WideString FFileName;
_di_IShellLinkA FShellLinkA;
_di_IShellLinkW FShellLinkW;
int FIconIndex;
_ITEMIDLIST *FTargetIDList;
TCmdShow FShowCmd;
THotKeyModifiers FHotKeyModifiers;
WideString FTargetPath;
WideString FArguments;
WideString FDescription;
WideString FWorkingDirectory;
WideString FIconLocation;
Word FHotKey;
bool FSilentWrite;
_di_IShellLinkA __fastcall GetShellLinkAInterface();
_di_IShellLinkW __fastcall GetShellLinkWInterface();
protected:
void __fastcall FreeTargetIDList(void);
public:
__fastcall virtual ~TVirtualShellLink(void);
bool __fastcall ReadLink(WideString LinkFileName);
bool __fastcall WriteLink(WideString LinkFileName);
__property WideString Arguments = {read=FArguments, write=FArguments};
__property WideString Description = {read=FDescription, write=FDescription};
__property WideString FileName = {read=FFileName, write=FFileName};
__property Word HotKey = {read=FHotKey, write=FHotKey, nodefault};
__property THotKeyModifiers HotKeyModifiers = {read=FHotKeyModifiers, write=FHotKeyModifiers, nodefault};
__property int IconIndex = {read=FIconIndex, write=FIconIndex, nodefault};
__property WideString IconLocation = {read=FIconLocation, write=FIconLocation};
__property Shlobj::PItemIDList TargetIDList = {read=FTargetIDList, write=FTargetIDList};
__property _di_IShellLinkA ShellLinkAInterface = {read=GetShellLinkAInterface};
__property _di_IShellLinkW ShellLinkWInterface = {read=GetShellLinkWInterface};
__property TCmdShow ShowCmd = {read=FShowCmd, write=FShowCmd, nodefault};
__property bool SilentWrite = {read=FSilentWrite, write=FSilentWrite, nodefault};
__property WideString TargetPath = {read=FTargetPath, write=FTargetPath};
__property WideString WorkingDirectory = {read=FWorkingDirectory, write=FWorkingDirectory};
public:
#pragma option push -w-inl
/* TComponent.Create */ inline __fastcall virtual TVirtualShellLink(Classes::TComponent* AOwner) : Classes::TComponent(AOwner) { }
#pragma option pop
};
class DELPHICLASS TShellSortHelper;
class PASCALIMPLEMENTATION TShellSortHelper : public System::TObject
{
typedef System::TObject inherited;
private:
TFileSort FFileSort;
public:
virtual int __fastcall CompareIDSort(int SortColumn, TNamespace* NS1, TNamespace* NS2);
virtual int __fastcall DiscriminateFolders(TNamespace* NS1, TNamespace* NS2);
virtual int __fastcall SortFileSize(TNamespace* NS1, TNamespace* NS2);
virtual int __fastcall SortFileTime(const _FILETIME &FT1, const _FILETIME &FT2, TNamespace* NS1, TNamespace* NS2);
virtual int __fastcall SortString(WideString S1, WideString S2, TNamespace* NS1, TNamespace* NS2);
virtual int __fastcall SortType(TNamespace* NS1, TNamespace* NS2);
__property TFileSort FileSort = {read=FFileSort, write=FFileSort, nodefault};
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TShellSortHelper(void) : System::TObject() { }
#pragma option pop
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TShellSortHelper(void) { }
#pragma option pop
};
typedef bool __fastcall (__closure *TEnumFolderCallback)(HWND MessageWnd, Shlobj::PItemIDList APIDL, TNamespace* AParent, void * Data, bool &Terminate);
typedef void __fastcall (__closure *TContextMenuCmdCallback)(TNamespace* Namespace, WideString Verb, int MenuItemID, bool &Handled);
typedef void __fastcall (__closure *TContextMenuShowCallback)(TNamespace* Namespace, HMENU Menu, bool &Allow);
typedef void __fastcall (__closure *TContextMenuAfterCmdCallback)(TNamespace* Namespace, WideString Verb, int MenuItemID, bool Successful);
class PASCALIMPLEMENTATION TNamespace : public System::TObject
{
typedef System::TObject inherited;
private:
_ITEMIDLIST *FAbsolutePIDL;
TCategoriesInfo FCatInfo;
Mpshelltypes::_di_IContextMenu FCurrentContextMenu;
Mpshelltypes::_di_IContextMenu2 FCurrentContextMenu2;
_di_IDropTarget FDropTargetInterface;
TExtractImage* FExtractImage;
Graphics::TBitmap* FImage;
int FNamespaceID;
Classes::TWndMethod FOldWndProcForContextMenu;
TNamespace* FParent;
_ITEMIDLIST *FRelativePIDL;
Mpshelltypes::_di_IShellDetailsBCB6 FShellDetailsInterface;
_di_IShellFolder FShellFolder;
_di_IShellFolder2 FShellFolder2;
_di_IShellIcon FShellIconInterface;
TVirtualShellLink* FShellLink;
TSHGetFileInfoRec *FSHGetFileInfoRec;
TNamespaceStates FStates;
int FTag;
DynamicArray<int > FTileDetail;
_di_IQueryInfo FQueryInfoInterface;
_WIN32_FIND_DATAA *FWin32FindDataA;
_WIN32_FIND_DATAW *FWin32FindDataW;
bool FSystemIsSuperHidden;
Mpshelltypes::_di_IShellIconOverlay FShellIconOverlayInterface;
Mpshelltypes::_di_ICategoryProvider FCategoryProviderInterface;
Mpshelltypes::_di_IBrowserFrameOptions FBrowserFrameOptionsInterface;
Mpshelltypes::_di_IQueryAssociations FQueryAssociationsInterface;
int __fastcall GetCategoryCount(void);
TNamespace* __fastcall GetParent(void);
protected:
TShellCacheRec FShellCache;
virtual bool __fastcall GetArchive(void);
virtual WideString __fastcall GetAttributesString();
virtual bool __fastcall GetBrowsable(void);
virtual Mpshelltypes::_di_IBrowserFrameOptions __fastcall GetBrowserFrameOptionsInterface();
virtual bool __fastcall GetCanCopy(void);
virtual bool __fastcall GetCanDelete(void);
virtual bool __fastcall GetCanLink(void);
virtual bool __fastcall GetCanMoniker(void);
virtual bool __fastcall GetCanMove(void);
virtual bool __fastcall GetCanRename(void);
virtual Mpshelltypes::_di_ICategoryProvider __fastcall GetCategoryProviderInterface();
virtual GUID __fastcall GetCLSID();
virtual bool __fastcall GetCompressed(void);
virtual Mpshelltypes::_di_IContextMenu2 __fastcall GetContextMenu2Interface();
virtual Mpshelltypes::_di_IContextMenu3 __fastcall GetContextMenu3Interface();
virtual Mpshelltypes::_di_IContextMenu __fastcall GetContextMenuInterface();
virtual System::TDateTime __fastcall GetCreationDateTime(void);
virtual WideString __fastcall GetCreationTime();
virtual _FILETIME __fastcall GetCreationTimeRaw();
virtual _di_IDataObject __fastcall GetDataObjectInterface();
virtual TObjectDescription __fastcall GetDescription(void);
virtual bool __fastcall GetDetailsSupported(void);
virtual bool __fastcall GetDirectory(void);
virtual bool __fastcall GetDropTarget(void);
virtual _di_IDropTarget __fastcall GetDropTargetInterface();
virtual bool __fastcall GetEncrypted(void);
virtual WideString __fastcall GetExtension();
virtual _di_IExtractIconA __fastcall GetExtractIconAInterface();
virtual _di_IExtractIconW __fastcall GetExtractIconWInterface();
virtual TExtractImage* __fastcall GetExtractImage(void);
virtual WideString __fastcall GetFileName();
virtual bool __fastcall GetFileSysAncestor(void);
virtual bool __fastcall GetFileSystem(void);
virtual WideString __fastcall GetFileType();
virtual bool __fastcall GetFolder(void);
virtual bool __fastcall GetFreePIDLOnDestroy(void);
virtual bool __fastcall GetGhosted(void);
virtual bool __fastcall GetHasPropSheet(void);
virtual bool __fastcall GetHasStorage(void);
virtual bool __fastcall GetHasSubFolder(void);
virtual bool __fastcall GetHidden(void);
virtual bool __fastcall GetIconIndexChanged(void);
virtual WideString __fastcall GetInfoTip();
virtual bool __fastcall GetIsSlow(void);
virtual System::TDateTime __fastcall GetLastAccessDateTime(void);
virtual WideString __fastcall GetLastAccessTime();
virtual _FILETIME __fastcall GetLastAccessTimeRaw();
virtual System::TDateTime __fastcall GetLastWriteDateTime(void);
virtual WideString __fastcall GetLastWriteTime();
virtual _FILETIME __fastcall GetLastWriteTimeRaw();
virtual bool __fastcall GetLink(void);
virtual WideString __fastcall GetNameAddressbar();
virtual WideString __fastcall GetNameAddressbarInFolder();
virtual WideString __fastcall GetNameForEditing();
virtual WideString __fastcall GetNameForEditingInFolder();
virtual WideString __fastcall GetNameForParsing();
virtual WideString __fastcall GetNameForParsingInFolder();
virtual WideString __fastcall GetNameInFolder();
virtual WideString __fastcall GetNameNormal();
virtual WideString __fastcall GetNameParseAddress();
virtual WideString __fastcall GetNameParseAddressInFolder();
virtual bool __fastcall GetNewContent(void);
virtual bool __fastcall GetNonEnumerated(void);
virtual bool __fastcall GetNormal(void);
virtual bool __fastcall GetOffLine(void);
virtual int __fastcall GetOverlayIconIndex(void);
virtual int __fastcall GetOverlayIndex(void);
virtual Mpshelltypes::_di_IShellDetailsBCB6 __fastcall GetParentShellDetailsInterface();
virtual _di_IShellFolder __fastcall GetParentShellFolder();
virtual _di_IShellFolder2 __fastcall GetParentShellFolder2();
virtual Mpshelltypes::_di_IQueryAssociations __fastcall GetQueryAssociationsInterface();
virtual _di_IQueryInfo __fastcall GetQueryInfoInterface();
virtual bool __fastcall GetReadOnly(void);
virtual bool __fastcall GetReadOnlyFile(void);
virtual bool __fastcall GetReparsePoint(void);
virtual bool __fastcall GetRemovable(void);
virtual bool __fastcall GetShare(void);
virtual Mpshelltypes::_di_IShellDetailsBCB6 __fastcall GetShellDetailsInterface();
virtual _di_IShellFolder __fastcall GetShellFolder();
virtual _di_IShellFolder2 __fastcall GetShellFolder2();
virtual _di_IShellIcon __fastcall GetShellIconInterface();
virtual Mpshelltypes::_di_IShellIconOverlay __fastcall GetShellIconOverlayInterface();
virtual TVirtualShellLink* __fastcall GetShellLink(void);
virtual WideString __fastcall GetShortFileName();
virtual WideString __fastcall GetSizeOfFile();
virtual WideString __fastcall GetSizeOfFileDiskUsage();
virtual __int64 __fastcall GetSizeOfFileInt64(void);
virtual WideString __fastcall GetSizeOfFileKB();
virtual bool __fastcall GetSparseFile(void);
virtual bool __fastcall GetStorage(void);
virtual bool __fastcall GetStorageAncestor(void);
virtual bool __fastcall GetStream(void);
virtual bool __fastcall GetSubFolders(void);
virtual bool __fastcall GetSubItems(void);
virtual bool __fastcall GetSystem(void);
virtual bool __fastcall GetTemporary(void);
virtual bool __fastcall GetThreadedDetailLoaded(int ColumnIndex);
virtual bool __fastcall GetThreadedDetailLoading(int ColumnIndex);
virtual bool __fastcall GetThreadedIconLoaded(void);
virtual bool __fastcall GetThreadedImageLoaded(void);
virtual bool __fastcall GetThreadedImageLoading(void);
virtual bool __fastcall GetThreadIconLoading(void);
virtual bool __fastcall GetValid(void);
HWND __fastcall ParentWnd(void);
void __fastcall EnsureDetailCache(void);
void __fastcall ExecuteContextMenuVerbMultiPath(WideString Verb, TNamespaceArray Namespaces);
void __fastcall LoadCategoryInfo(void);
virtual void __fastcall SetFreePIDLOnDestroy(const bool Value);
virtual void __fastcall SetIconIndexChanged(const bool Value);
virtual void __fastcall SetThreadedDetailLoaded(int ColumnIndex, bool Value);
virtual void __fastcall SetThreadedDetailLoading(int ColumnIndex, bool Value);
virtual void __fastcall SetThreadIconLoading(const bool Value);
virtual void __fastcall SetThreadImageLoading(const bool Value);
Mpshelltypes::_di_ICategorizer __fastcall CreateCategory(const GUID &GUID);
bool __fastcall EnumFuncDummy(HWND MessageWnd, Shlobj::PItemIDList APIDL, TNamespace* AParent, void * Data, bool &Terminate);
WideString __fastcall ExplorerStyleAttributeStringList(bool CapitalLetters);
WideString __fastcall DisplayNameOf(unsigned Flags);
void __fastcall GetDataFromIDList(void);
void __fastcall GetFileTimes(void);
void __fastcall GetSHFileInfo(void);
TMenuItemIDArray __fastcall InjectCustomSubMenu(HMENU Menu, AnsiString Caption, Menus::TPopupMenu* PopupMenu, HMENU &SubMenu);
Mpshelltypes::_di_IContextMenu __fastcall InternalGetContextMenuInterface(Mpcommonobjects::TPIDLArray PIDLArray);
_di_IDataObject __fastcall InternalGetDataObjectInterface(Mpcommonobjects::TPIDLArray PIDLArray);
bool __fastcall InternalShowContextMenu(Controls::TWinControl* Owner, TContextMenuCmdCallback ContextMenuCmdCallback, TContextMenuShowCallback ContextMenuShowCallback, TContextMenuAfterCmdCallback ContextMenuAfterCmdCallback, Mpcommonobjects::TPIDLArray PIDLArray, Types::PPoint Position, Menus::TPopupMenu* CustomShellSubMenu, WideString CustomSubMenuCaption);
bool __fastcall InternalSubItems(unsigned Flags);
void __fastcall ReplacePIDL(Shlobj::PItemIDList NewPIDL, TNamespace* AParent);
bool __fastcall ShowContextMenuMultiPath(Controls::TWinControl* Owner, TNamespace* Focused, TNamespaceArray Namespaces, Types::PPoint Position = (void *)(0x0));
void __fastcall WindowProcForContextMenu(Messages::TMessage &Message);
__property TCategoriesInfo CatInfo = {read=FCatInfo, write=FCatInfo};
__property Mpshelltypes::_di_IContextMenu2 CurrentContextMenu2 = {read=FCurrentContextMenu2, write=FCurrentContextMenu2};
__property Mpshelltypes::_di_IContextMenu CurrentContextMenu = {read=FCurrentContextMenu, write=FCurrentContextMenu};
__property TShellCacheRec ShellCache = {read=FShellCache, write=FShellCache};
__property bool SystemIsSuperHidden = {read=FSystemIsSuperHidden, write=FSystemIsSuperHidden, nodefault};
public:
__fastcall TNamespace(Shlobj::PItemIDList PIDL, TNamespace* AParent);
__fastcall virtual ~TNamespace(void);
__fastcall virtual TNamespace(int CustomID, TNamespace* AParent);
__fastcall virtual TNamespace(WideString FileName);
virtual bool __fastcall CanCopyAll(TNamespaceArray NamespaceArray);
virtual bool __fastcall CanCutAll(TNamespaceArray NamespaceArray);
virtual bool __fastcall CanDeleteAll(TNamespaceArray NamespaceArray);
virtual bool __fastcall CanPasteToAll(TNamespaceArray NamespaceArray);
virtual bool __fastcall CanShowPropertiesOfAll(TNamespaceArray NamespaceArray);
virtual TNamespace* __fastcall Clone(bool ReleasePIDLOnDestroy);
virtual Shortint __fastcall ComparePIDL(Shlobj::PItemIDList PIDLToCompare, bool IsAbsolutePIDL, int Column = 0x0);
virtual WideString __fastcall ContextMenuItemHelp(unsigned MenuItemID);
virtual WideString __fastcall ContextMenuVerb(unsigned MenuItemID);
virtual bool __fastcall Copy(TNamespaceArray NamespaceArray);
virtual bool __fastcall Cut(TNamespaceArray NamespaceArray);
virtual _di_IDataObject __fastcall DataObjectMulti(TNamespaceArray NamespaceArray);
virtual bool __fastcall Delete(TNamespaceArray NamespaceArray);
virtual Classes::TAlignment __fastcall DetailsAlignment(int ColumnIndex);
virtual WideString __fastcall DetailsColumnTitle(int ColumnIndex);
virtual WideString __fastcall DetailsDefaultColumnTitle(int ColumnIndex);
virtual WideString __fastcall DetailsDefaultOf(int ColumnIndex);
virtual int __fastcall DetailsDefaultSupportedColumns(void);
virtual TSHColumnStates __fastcall DetailsGetDefaultColumnState(int ColumnIndex);
virtual WideString __fastcall DetailsOf(int ColumnIndex);
virtual WideString __fastcall DetailsOfEx(int ColumnIndex);
virtual int __fastcall DetailsSupportedColumns(void);
virtual TVisibleColumnIndexArray __fastcall DetailsSupportedVisibleColumns();
virtual bool __fastcall DetailsValidIndex(int DetailsIndex);
virtual HRESULT __fastcall DragEffect(int grfKeyState);
virtual HRESULT __fastcall DragEnter(const _di_IDataObject dataObj, int grfKeyState, const Types::TPoint &pt, int &dwEffect);
virtual HRESULT __fastcall DragLeave(void);
virtual HRESULT __fastcall DragOver(int grfKeyState, const Types::TPoint &pt, int &dwEffect);
virtual HRESULT __fastcall Drop(const _di_IDataObject dataObj, int grfKeyState, const Types::TPoint &pt, int &dwEffect);
virtual int __fastcall EnumerateFolder(HWND MessageWnd, bool Folders, bool NonFolders, bool IncludeHidden, TEnumFolderCallback EnumFunc, void * UserData);
virtual int __fastcall EnumerateFolderEx(HWND MessageWnd, TFileObjects FileObjects, TEnumFolderCallback EnumFunc, void * UserData, Classes::TNotifyEvent AfterValidEnumIDList = 0x0);
virtual bool __fastcall ExecuteContextMenuVerb(WideString AVerb, Mpcommonobjects::TPIDLArray APIDLArray, HWND MessageWindowParent = (HWND)(0x0));
virtual __int64 __fastcall FolderSize(bool Invalidate, bool RecurseFolder = false);
virtual int __fastcall GetIconIndex(bool OpenIcon, TIconSize IconSize, bool ForceLoad = true);
virtual Graphics::TBitmap* __fastcall GetImage(void);
bool __fastcall VerifyPIDLRelationship(TNamespaceArray NamespaceArray, bool Silent = false);
virtual void __fastcall HandleContextMenuMsg(int Msg, int wParam, int lParam, int &Result);
virtual void __fastcall InvalidateCache(void);
void __fastcall InvalidateDetailsOfCache(bool FlushStrings);
virtual void __fastcall InvalidateNamespace(bool RefreshIcon = true);
virtual void __fastcall InvalidateRelativePIDL(TFileObjects FileObjects);
virtual void __fastcall InvalidateThumbImage(void);
virtual bool __fastcall IsChildByNamespace(TNamespace* TestNamespace, bool Immediate);
virtual bool __fastcall IsChildByPIDL(Shlobj::PItemIDList TestPIDL, bool Immediate);
virtual bool __fastcall IsChildOfRemovableDrive(void);
virtual bool __fastcall IsControlPanel(void);
virtual bool __fastcall IsControlPanelChildFolder(void);
virtual bool __fastcall IsDesktop(void);
virtual bool __fastcall IsMyComputer(void);
virtual bool __fastcall IsNetworkNeighborhood(void);
virtual bool __fastcall IsNetworkNeighborhoodChild(void);
virtual bool __fastcall IsParentByNamespace(TNamespace* TestNamespace, bool Immediate);
virtual bool __fastcall IsParentByPIDL(Shlobj::PItemIDList TestPIDL, bool Immediate);
bool __fastcall IsRecycleBin(void);
virtual bool __fastcall OkToBrowse(bool ShowExplorerMsg);
virtual Shlobj::PItemIDList __fastcall ParseDisplayName(void)/* overload */;
virtual Shlobj::PItemIDList __fastcall ParseDisplayName(WideString Path)/* overload */;
virtual bool __fastcall Paste(TNamespaceArray NamespaceArray, bool AsShortCut = false);
void __fastcall SetDetailByThread(int ColumnIndex, WideString Detail);
virtual void __fastcall SetIconIndexByThread(int IconIndex, bool ClearThreadLoading);
virtual void __fastcall SetImageByThread(Graphics::TBitmap* Bitmap, bool ClearThreadLoading);
virtual bool __fastcall SetNameOf(WideString NewName);
virtual bool __fastcall ShellExecuteNamespace(WideString WorkingDir, WideString CmdLineArguments, bool ExecuteFolder = false, bool ExecuteFolderShortCut = false, bool RunInThread = false);
virtual bool __fastcall ShowContextMenu(Controls::TWinControl* Owner, TContextMenuCmdCallback ContextMenuCmdCallback, TContextMenuShowCallback ContextMenuShowCallback, TContextMenuAfterCmdCallback ContextMenuAfterCmdCallback, Types::PPoint Position = (void *)(0x0), Menus::TPopupMenu* CustomShellSubMenu = (Menus::TPopupMenu*)(0x0), WideString CustomSubMenuCaption = L"");
virtual bool __fastcall ShowContextMenuMulti(Controls::TWinControl* Owner, TContextMenuCmdCallback ContextMenuCmdCallback, TContextMenuShowCallback ContextMenuShowCallback, TContextMenuAfterCmdCallback ContextMenuAfterCmdCallback, TNamespaceArray NamespaceArray, Types::PPoint Position = (void *)(0x0), Menus::TPopupMenu* CustomShellSubMenu = (Menus::TPopupMenu*)(0x0), WideString CustomSubMenuCaption = L"");
virtual void __fastcall ShowPropertySheet(void);
virtual void __fastcall ShowPropertySheetMulti(TNamespaceArray NamespaceArray, bool UseSHMultiFileProperties = true, bool ForceNonMultiPath = false);
virtual bool __fastcall SubFoldersEx(unsigned Flags = (unsigned)(0x20));
virtual bool __fastcall SubItemsEx(unsigned Flags = (unsigned)(0x40));
virtual bool __fastcall TestAttributesOf(unsigned Flags, bool FlushCache, bool SoftFlush = false);
__property Shlobj::PItemIDList AbsolutePIDL = {read=FAbsolutePIDL, write=FAbsolutePIDL};
__property bool AdvDetailsSupported = {read=GetDetailsSupported, nodefault};
__property bool Browsable = {read=GetBrowsable, nodefault};
__property Mpshelltypes::_di_IBrowserFrameOptions BrowserFrameOptionsInterface = {read=GetBrowserFrameOptionsInterface};
__property bool CanCopy = {read=GetCanCopy, nodefault};
__property bool CanDelete = {read=GetCanDelete, nodefault};
__property bool CanLink = {read=GetCanLink, nodefault};
__property bool CanMoniker = {read=GetCanMoniker, nodefault};
__property bool CanMove = {read=GetCanMove, nodefault};
__property bool CanRename = {read=GetCanRename, nodefault};
__property int CategoryCount = {read=GetCategoryCount, nodefault};
__property Mpshelltypes::_di_ICategoryProvider CategoryProviderInterface = {read=GetCategoryProviderInterface};
__property GUID CLSID = {read=GetCLSID};
__property Mpshelltypes::_di_IContextMenu ContextMenuInterface = {read=GetContextMenuInterface};
__property Mpshelltypes::_di_IContextMenu2 ContextMenu2Interface = {read=GetContextMenu2Interface};
__property Mpshelltypes::_di_IContextMenu3 ContextMenu3Interface = {read=GetContextMenu3Interface};
__property _di_IDataObject DataObjectInterface = {read=GetDataObjectInterface};
__property TObjectDescription Description = {read=GetDescription, nodefault};
__property bool DropTarget = {read=GetDropTarget, nodefault};
__property _di_IDropTarget DropTargetInterface = {read=GetDropTargetInterface};
__property bool Encrypted = {read=GetEncrypted, nodefault};
__property TExtractImage* ExtractImage = {read=GetExtractImage};
__property _di_IExtractIconA ExtractIconAInterface = {read=GetExtractIconAInterface};
__property _di_IExtractIconW ExtractIconWInterface = {read=GetExtractIconWInterface};
__property bool FileSystem = {read=GetFileSystem, nodefault};
__property bool FileSysAncestor = {read=GetFileSysAncestor, nodefault};
__property bool Folder = {read=GetFolder, nodefault};
__property bool FreePIDLOnDestroy = {read=GetFreePIDLOnDestroy, write=SetFreePIDLOnDestroy, nodefault};
__property bool Ghosted = {read=GetGhosted, nodefault};
__property bool HasPropSheet = {read=GetHasPropSheet, nodefault};
__property bool HasStorage = {read=GetHasStorage, nodefault};
__property bool HasSubFolder = {read=GetHasSubFolder, nodefault};
__property bool IconIndexChanged = {read=GetIconIndexChanged, write=SetIconIndexChanged, nodefault};
__property bool IsSlow = {read=GetIsSlow, nodefault};
__property bool Link = {read=GetLink, nodefault};
__property WideString InfoTip = {read=GetInfoTip};
__property WideString NameAddressbar = {read=GetNameAddressbar};
__property WideString NameAddressbarInFolder = {read=GetNameAddressbarInFolder};
__property WideString NameForEditing = {read=GetNameForEditing};
__property WideString NameForEditingInFolder = {read=GetNameForEditingInFolder};
__property WideString NameForParsing = {read=GetNameForParsing};
__property WideString NameForParsingInFolder = {read=GetNameForParsingInFolder};
__property WideString NameInFolder = {read=GetNameInFolder};
__property WideString NameNormal = {read=GetNameNormal};
__property WideString NameParseAddress = {read=GetNameParseAddress};
__property WideString NameParseAddressInFolder = {read=GetNameParseAddressInFolder};
__property int NamespaceID = {read=FNamespaceID, nodefault};
__property bool NewContent = {read=GetNewContent, nodefault};
__property bool NonEnumerated = {read=GetNonEnumerated, nodefault};
__property TNamespace* Parent = {read=GetParent};
__property _di_IShellFolder ParentShellFolder = {read=GetParentShellFolder};
__property _di_IShellFolder2 ParentShellFolder2 = {read=GetParentShellFolder2};
__property Mpshelltypes::_di_IShellDetailsBCB6 ParentShellDetailsInterface = {read=GetParentShellDetailsInterface};
__property Mpshelltypes::_di_IQueryAssociations QueryAssociationsInterface = {read=GetQueryAssociationsInterface};
__property bool ReadOnly = {read=GetReadOnly, nodefault};
__property Shlobj::PItemIDList RelativePIDL = {read=FRelativePIDL};
__property bool Removable = {read=GetRemovable, nodefault};
__property bool Share = {read=GetShare, nodefault};
__property _di_IShellFolder ShellFolder = {read=GetShellFolder};
__property _di_IShellFolder2 ShellFolder2 = {read=GetShellFolder2};
__property Mpshelltypes::_di_IShellDetailsBCB6 ShellDetailsInterface = {read=GetShellDetailsInterface};
__property TVirtualShellLink* ShellLink = {read=GetShellLink};
__property _di_IShellIcon ShellIconInterface = {read=GetShellIconInterface};
__property Mpshelltypes::_di_IShellIconOverlay ShellIconOverlayInterface = {read=GetShellIconOverlayInterface};
__property WideString ShortFileName = {read=GetShortFileName};
__property bool SparseFile = {read=GetSparseFile, nodefault};
__property TNamespaceStates States = {read=FStates, write=FStates, nodefault};
__property bool Storage = {read=GetStorage, nodefault};
__property bool StorageAncestor = {read=GetStorageAncestor, nodefault};
__property bool Stream = {read=GetStream, nodefault};
__property bool SubFolders = {read=GetSubFolders, nodefault};
__property bool SubItems = {read=GetSubItems, nodefault};
__property int Tag = {read=FTag, write=FTag, nodefault};
__property bool ThreadedDetailLoaded[int Column] = {read=GetThreadedDetailLoaded, write=SetThreadedDetailLoaded};
__property bool ThreadedDetailLoading[int Column] = {read=GetThreadedDetailLoading, write=SetThreadedDetailLoading};
__property bool ThreadedIconLoaded = {read=GetThreadedIconLoaded, nodefault};
__property bool ThreadIconLoading = {read=GetThreadIconLoading, write=SetThreadIconLoading, nodefault};
__property bool ThreadImageLoaded = {read=GetThreadedImageLoaded, nodefault};
__property bool ThreadImageLoading = {read=GetThreadedImageLoading, write=SetThreadImageLoading, nodefault};
__property Mpcommonutilities::TCommonIntegerDynArray TileDetail = {read=FTileDetail, write=FTileDetail};
__property _di_IQueryInfo QueryInfoInterface = {read=GetQueryInfoInterface};
__property Windows::PWin32FindDataA Win32FindDataA = {read=FWin32FindDataA};
__property Windows::PWin32FindDataW Win32FindDataW = {read=FWin32FindDataW};
__property WideString AttributesString = {read=GetAttributesString};
__property bool Archive = {read=GetArchive, nodefault};
__property bool Compressed = {read=GetCompressed, nodefault};
__property WideString CreationTime = {read=GetCreationTime};
__property System::TDateTime CreationDateTime = {read=GetCreationDateTime};
__property _FILETIME CreationTimeRaw = {read=GetCreationTimeRaw};
__property bool Directory = {read=GetDirectory, nodefault};
__property WideString Extension = {read=GetExtension};
__property WideString FileName = {read=GetFileName};
__property WideString FileType = {read=GetFileType};
__property bool Hidden = {read=GetHidden, nodefault};
__property WideString LastAccessTime = {read=GetLastAccessTime};
__property System::TDateTime LastAccessDateTime = {read=GetLastAccessDateTime};
__property _FILETIME LastAccessTimeRaw = {read=GetLastAccessTimeRaw};
__property WideString LastWriteTime = {read=GetLastWriteTime};
__property System::TDateTime LastWriteDateTime = {read=GetLastWriteDateTime};
__property _FILETIME LastWriteTimeRaw = {read=GetLastWriteTimeRaw};
__property bool Normal = {read=GetNormal, nodefault};
__property bool OffLine = {read=GetOffLine, nodefault};
__property int OverlayIndex = {read=GetOverlayIndex, nodefault};
__property int OverlayIconIndex = {read=GetOverlayIconIndex, nodefault};
__property bool ReadOnlyFile = {read=GetReadOnlyFile, nodefault};
__property bool ReparsePoint = {read=GetReparsePoint, nodefault};
__property WideString SizeOfFile = {read=GetSizeOfFile};
__property __int64 SizeOfFileInt64 = {read=GetSizeOfFileInt64};
__property WideString SizeOfFileKB = {read=GetSizeOfFileKB};
__property WideString SizeOfFileDiskUsage = {read=GetSizeOfFileDiskUsage};
__property bool SystemFile = {read=GetSystem, nodefault};
__property bool Temporary = {read=GetTemporary, nodefault};
__property bool Valid = {read=GetValid, nodefault};
};
class DELPHICLASS TVirtualNameSpaceList;
class PASCALIMPLEMENTATION TVirtualNameSpaceList : public Contnrs::TObjectList
{
typedef Contnrs::TObjectList inherited;
public:
TNamespace* operator[](int Index) { return Items[Index]; }
private:
TNamespace* __fastcall GetItems(int Index);
void __fastcall SetItems(int Index, TNamespace* ANamespace);
public:
HIDESBASE int __fastcall Add(TNamespace* ANamespace);
void __fastcall FillArray(TNamespaceArray &NamespaceArray);
HIDESBASE int __fastcall IndexOf(TNamespace* ANamespace);
HIDESBASE void __fastcall Insert(int Index, TNamespace* ANamespace);
__property TNamespace* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
#pragma option push -w-inl
/* TObjectList.Create */ inline __fastcall TVirtualNameSpaceList(void)/* overload */ : Contnrs::TObjectList() { }
#pragma option pop
public:
#pragma option push -w-inl
/* TList.Destroy */ inline __fastcall virtual ~TVirtualNameSpaceList(void) { }
#pragma option pop
};
struct TMenuItemLink;
typedef TMenuItemLink *PMenuItemLink;
#pragma pack(push,4)
struct TMenuItemLink
{
public:
unsigned MenuID;
Menus::TMenuItem* Item;
} ;
#pragma pack(pop)
class DELPHICLASS TMenuItemMap;
class PASCALIMPLEMENTATION TMenuItemMap : public Classes::TList
{
typedef Classes::TList inherited;
public:
PMenuItemLink operator[](int Index) { return Items[Index]; }
protected:
HIDESBASE PMenuItemLink __fastcall Get(int Index);
HIDESBASE void __fastcall Put(int Index, PMenuItemLink Item);
public:
HIDESBASE PMenuItemLink __fastcall Add(void);
HIDESBASE PMenuItemLink __fastcall First(void);
HIDESBASE int __fastcall IndexOf(PMenuItemLink Item);
virtual void __fastcall Clear(void);
HIDESBASE PMenuItemLink __fastcall Insert(int Index);
HIDESBASE PMenuItemLink __fastcall Last(void);
HIDESBASE int __fastcall Remove(PMenuItemLink Item);
__property PMenuItemLink Items[int Index] = {read=Get, write=Put/*, default*/};
public:
#pragma option push -w-inl
/* TList.Destroy */ inline __fastcall virtual ~TMenuItemMap(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TMenuItemMap(void) : Classes::TList() { }
#pragma option pop
};
class PASCALIMPLEMENTATION TCommonShellContextMenu : public Classes::TComponent
{
typedef Classes::TComponent inherited;
private:
_di_IShellFolder FActiveFolder;
DynamicArray<Shlobj::PItemIDList > FActivePIDLs;
bool FCopyValidated;
Mpshelltypes::_di_IContextMenu FCurrentContextMenu;
Mpshelltypes::_di_IContextMenu2 FCurrentContextMenu2;
bool FCutValidated;
Mpcommonobjects::TCommonShellContextMenuExtensions FExtensions;
bool FFromDesktop;
TNamespace* FLocalFocused;
DynamicArray<TNamespace* > FLocalNamespaces;
TMenuItemMap* FMenuMap;
Classes::TWndMethod FOldWndProcForContextMenu;
Classes::TStringList* FKeyStrings;
TCommonShellMenuEvent FOnHide;
TCommonShellMenuInvokeEvent FOnInvokeCommand;
TCommonShellMenuMergeEvent FOnMenuMerge;
TCommonShellMenuMergeEvent FOnMenuMergeBottom;
TCommonShellMenuMergeEvent FOnMenuMergeTop;
TCommonShellMenuItemEvent FOnShellMenuCopy;
TCommonShellMenuItemEvent FOnShellMenuCreateShortcut;
TCommonShellMenuItemEvent FOnShellMenuCut;
TCommonShellMenuItemEvent FOnShellMenuDelete;
TCommonShellMenuItemEvent FOnShellMenuNewFolder;
TCommonShellMenuItemEvent FOnShellMenuPaste;
TCommonShellMenuItemEvent FOnShellMenuPasteLink;
TCommonShellMenuItemEvent FOnShellMenuPasteShortCut;
TCommonShellMenuItemEvent FOnShellMenuProperites;
TCommonShellMenuEvent FOnShow;
bool FRenameMenuItem;
void *FStub;
bool FPasteMenuItem;
_di_IDataObject FUIObjectOfDataObject;
_di_IDropTarget FUIObjectOfDropTarget;
protected:
virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
HIDESBASE int __stdcall _AddRef(void);
HIDESBASE int __stdcall _Release(void);
HRESULT __stdcall ParseDisplayName(HWND hwndOwner, void * pbcReserved, WideChar * lpszDisplayName, /* out */ unsigned &pchEaten, /* out */ Shlobj::PItemIDList &ppidl, unsigned &dwAttributes);
HRESULT __stdcall EnumObjects(HWND hwndOwner, unsigned grfFlags, /* out */ _di_IEnumIDList &EnumIDList);
HRESULT __stdcall BindToObject(Shlobj::PItemIDList pidl, void * pbcReserved, const GUID &riid, /* out */ void *ppvOut);
HRESULT __stdcall BindToStorage(Shlobj::PItemIDList pidl, void * pbcReserved, const GUID &riid, /* out */ void *ppvObj);
HRESULT __stdcall CompareIDs(int lParam, Shlobj::PItemIDList pidl1, Shlobj::PItemIDList pidl2);
HRESULT __stdcall CreateViewObject(HWND hwndOwner, const GUID &riid, /* out */ void *ppvOut);
HRESULT __stdcall GetAttributesOf(unsigned cidl, Shlobj::PItemIDList &apidl, unsigned &rgfInOut);
HRESULT __stdcall GetUIObjectOf(HWND hwndOwner, unsigned cidl, Shlobj::PItemIDList &apidl, const GUID &riid, void * prgfInOut, /* out */ void *ppvOut);
HRESULT __stdcall GetDisplayNameOf(Shlobj::PItemIDList pidl, unsigned uFlags, _STRRET &lpName);
HRESULT __stdcall SetNameOf(HWND hwndOwner, Shlobj::PItemIDList pidl, WideChar * lpszName, unsigned uFlags, Shlobj::PItemIDList &ppidlOut);
HRESULT __stdcall DragEnter(const _di_IDataObject dataObj, int grfKeyState, const Types::TPoint pt, int &dwEffect);
HRESULT __stdcall DragOver(int grfKeyState, const Types::TPoint pt, int &dwEffect);
HRESULT __stdcall DragLeave(void);
HRESULT __stdcall Drop(const _di_IDataObject dataObj, int grfKeyState, const Types::TPoint pt, int &dwEffect);
HRESULT __stdcall DefMenuCreateCallback(const _di_IShellFolder psf, HWND wnd, const _di_IDataObject pdtObj, unsigned uMsg, int WParm, int lParm);
void __fastcall AddMenuKey(WideString Key);
void __fastcall AddMenuKeys(Classes::TStringList* Keys);
void __fastcall ClearKeys(void);
virtual void __fastcall DoCopy(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoCreateShortCut(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoCut(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoDelete(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoHide(void);
virtual void __fastcall DoInvokeCommand(Menus::TMenuItem* MenuItem, Shlobj::PCMInvokeCommandInfo InvokeInfo);
virtual void __fastcall DoMenuMerge(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoMenuMergeBottom(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoMenuMergeTop(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoNewFolder(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoPaste(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoPasteLink(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoPasteShortCut(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoProperties(_di_IShellFolder ShellFolder, _di_IDataObject DataObject, bool &DoDefault);
virtual void __fastcall DoShow(void);
HKEY __fastcall DuplicateKey(HKEY Key);
bool __fastcall FindCommandId(unsigned CmdID, Menus::TMenuItem* &MenuItem);
void __stdcall HandleContextMenuMsg(int Msg, int wParam, int lParam, int &Result);
bool __fastcall InternalShowContextMenu(Controls::TWinControl* Owner, Shlobj::PItemIDList ParentPIDL, Mpcommonobjects::TPIDLArray ChildPIDLs, WideString Verb, Types::PPoint Position = (void *)(0x0));
void __fastcall LoadMultiFolderPIDLArray(TNamespaceArray Namespaces, Mpcommonobjects::TPIDLArray &PIDLs);
virtual void __fastcall LoadRegistryKeyStrings(TNamespace* Focused) = 0 ;
void __fastcall WindowProcForContextMenu(Messages::TMessage &Message);
__property _di_IShellFolder ActiveFolder = {read=FActiveFolder, write=FActiveFolder};
__property Mpcommonobjects::TPIDLArray ActivePIDLs = {read=FActivePIDLs, write=FActivePIDLs};
__property bool CopyValidated = {read=FCopyValidated, write=FCopyValidated, nodefault};
__property Mpshelltypes::_di_IContextMenu2 CurrentContextMenu2 = {read=FCurrentContextMenu2, write=FCurrentContextMenu2};
__property Mpshelltypes::_di_IContextMenu CurrentContextMenu = {read=FCurrentContextMenu, write=FCurrentContextMenu};
__property bool CutValidated = {read=FCutValidated, write=FCutValidated, nodefault};
__property Mpcommonobjects::TCommonShellContextMenuExtensions Extensions = {read=FExtensions, write=FExtensions, nodefault};
__property bool FromDesktop = {read=FFromDesktop, write=FFromDesktop, nodefault};
__property Classes::TStringList* KeyStrings = {read=FKeyStrings, write=FKeyStrings};
__property TNamespace* LocalFocused = {read=FLocalFocused, write=FLocalFocused};
__property TNamespaceArray LocalNamespaces = {read=FLocalNamespaces, write=FLocalNamespaces};
__property TMenuItemMap* MenuMap = {read=FMenuMap, write=FMenuMap};
__property TCommonShellMenuEvent OnHide = {read=FOnHide, write=FOnHide};
__property TCommonShellMenuInvokeEvent OnInvokeCommand = {read=FOnInvokeCommand, write=FOnInvokeCommand};
__property TCommonShellMenuMergeEvent OnMenuMerge = {read=FOnMenuMerge, write=FOnMenuMerge};
__property TCommonShellMenuMergeEvent OnMenuMergeBottom = {read=FOnMenuMergeBottom, write=FOnMenuMergeBottom};
__property TCommonShellMenuMergeEvent OnMenuMergeTop = {read=FOnMenuMergeTop, write=FOnMenuMergeTop};
__property TCommonShellMenuItemEvent OnShellMenuCopy = {read=FOnShellMenuCopy, write=FOnShellMenuCopy};
__property TCommonShellMenuItemEvent OnShellMenuCreateShortCut = {read=FOnShellMenuCreateShortcut, write=FOnShellMenuCreateShortcut};
__property TCommonShellMenuItemEvent OnShellMenuCut = {read=FOnShellMenuCut, write=FOnShellMenuCut};
__property TCommonShellMenuItemEvent OnShellMenuDelete = {read=FOnShellMenuDelete, write=FOnShellMenuDelete};
__property TCommonShellMenuItemEvent OnShellMenuNewFolder = {read=FOnShellMenuNewFolder, write=FOnShellMenuNewFolder};
__property TCommonShellMenuItemEvent OnShellMenuPaste = {read=FOnShellMenuPaste, write=FOnShellMenuPaste};
__property TCommonShellMenuItemEvent OnShellMenuPasteLink = {read=FOnShellMenuPasteLink, write=FOnShellMenuPasteLink};
__property TCommonShellMenuItemEvent OnShellMenuPasteShortCut = {read=FOnShellMenuPasteShortCut, write=FOnShellMenuPasteShortCut};
__property TCommonShellMenuItemEvent OnShellMenuProperites = {read=FOnShellMenuProperites, write=FOnShellMenuProperites};
__property TCommonShellMenuEvent OnShow = {read=FOnShow, write=FOnShow};
__property void * Stub = {read=FStub, write=FStub};
__property bool RenameMenuItem = {read=FRenameMenuItem, write=FRenameMenuItem, default=1};
__property bool PasteMenuItem = {read=FPasteMenuItem, write=FPasteMenuItem, default=1};
__property _di_IDataObject UIObjectOfDataObject = {read=FUIObjectOfDataObject, write=FUIObjectOfDataObject};
__property _di_IDropTarget UIObjectOfDropTarget = {read=FUIObjectOfDropTarget, write=FUIObjectOfDropTarget};
public:
__fastcall virtual TCommonShellContextMenu(Classes::TComponent* AOwner);
__fastcall virtual ~TCommonShellContextMenu(void);
int __fastcall MergeMenuIntoContextMenu(Menus::TPopupMenu* Menu, HMENU ContextMenu, int Index, unsigned idStart);
void __fastcall ClearMenuMap(void);
private:
void *__IDropTarget; /* IDropTarget */
void *__IShellFolder; /* IShellFolder */
public:
#if defined(MANAGED_INTERFACE_OPERATORS)
operator _di_IDropTarget()
{
_di_IDropTarget intf;
GetInterface(intf);
return intf;
}
#else
operator IDropTarget*(void) { return (IDropTarget*)&__IDropTarget; }
#endif
#if defined(MANAGED_INTERFACE_OPERATORS)
operator _di_IShellFolder()
{
_di_IShellFolder intf;
GetInterface(intf);
return intf;
}
#else
operator IShellFolder*(void) { return (IShellFolder*)&__IShellFolder; }
#endif
#if defined(MANAGED_INTERFACE_OPERATORS)
operator System::_di_IInterface()
{
System::_di_IInterface intf;
GetInterface(intf);
return intf;
}
#else
operator IInterface*(void) { return (IInterface*)&__IDropTarget; }
#endif
};
class DELPHICLASS TCommonShellBackgroundContextMenu;
class PASCALIMPLEMENTATION TCommonShellBackgroundContextMenu : public TCommonShellContextMenu
{
typedef TCommonShellContextMenu inherited;
private:
bool FAutoDetectNewItem;
Mpcommonobjects::TCommonPIDLList* FFinalItemList;
Mpcommonobjects::TCommonPIDLList* FInitialItemList;
TCommonShellMenuNewItemEvent FOnNewItem;
Menus::TMenuItem* FPaste;
Menus::TMenuItem* FPasteShortCut;
Menus::TPopupMenu* FPopupMenuProperties;
Menus::TPopupMenu* FPopupMenuPaste;
Menus::TPopupMenu* FPopupMenuPasteShortCut;
Menus::TMenuItem* FProperties;
bool FShowPasteItem;
bool FShowPasteShortCutItem;
bool FShowPropertiesItem;
protected:
void __fastcall ClickPaste(System::TObject* Sender);
void __fastcall ClickPasteShortCut(System::TObject* Sender);
void __fastcall ClickProperties(System::TObject* Sender);
virtual void __fastcall DoHide(void);
virtual void __fastcall DoMenuMerge(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoMenuMergeBottom(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoMenuMergeTop(HMENU Menu, unsigned IndexMenu, unsigned &CmdFirst, unsigned CmdLast, TShellContextMenuFlags Flags);
virtual void __fastcall DoNewItem(TNamespace* NS);
virtual void __fastcall DoShow(void);
virtual void __fastcall LoadRegistryKeyStrings(TNamespace* Focused);
__property Mpcommonobjects::TCommonPIDLList* FinalItemList = {read=FFinalItemList, write=FFinalItemList};
__property Mpcommonobjects::TCommonPIDLList* InitialItemList = {read=FInitialItemList, write=FInitialItemList};
__property Menus::TMenuItem* Paste = {read=FPaste, write=FPaste};
__property Menus::TMenuItem* PasteShortCut = {read=FPasteShortCut, write=FPasteShortCut};
__property Menus::TPopupMenu* PopupMenuProperties = {read=FPopupMenuProperties, write=FPopupMenuProperties};
__property Menus::TPopupMenu* PopupMenuPaste = {read=FPopupMenuPaste, write=FPopupMenuPaste};
__property Menus::TPopupMenu* PopupMenuPasteShortCut = {read=FPopupMenuPasteShortCut, write=FPopupMenuPasteShortCut};
__property Menus::TMenuItem* Properties = {read=FProperties, write=FProperties};
__property RenameMenuItem = {default=0};
__property PasteMenuItem = {default=0};
public:
__fastcall virtual TCommonShellBackgroundContextMenu(Classes::TComponent* AOwner);
__fastcall virtual ~TCommonShellBackgroundContextMenu(void);
bool __fastcall EnumCallback(HWND MessageWnd, Shlobj::PItemIDList APIDL, TNamespace* AParent, void * Data, bool &Terminate);
virtual bool __fastcall ShowContextMenu(Controls::TWinControl* Owner, TNamespace* Root, Types::PPoint Position = (void *)(0x0));
__published:
__property bool AutoDetectNewItem = {read=FAutoDetectNewItem, write=FAutoDetectNewItem, nodefault};
__property OnHide ;
__property OnInvokeCommand ;
__property OnMenuMerge ;
__property OnMenuMergeBottom ;
__property OnMenuMergeTop ;
__property TCommonShellMenuNewItemEvent OnNewItem = {read=FOnNewItem, write=FOnNewItem};
__property OnShow ;
__property bool ShowPasteItem = {read=FShowPasteItem, write=FShowPasteItem, default=1};
__property bool ShowPasteShortCutItem = {read=FShowPasteShortCutItem, write=FShowPasteShortCutItem, default=1};
__property bool ShowPropertiesItem = {read=FShowPropertiesItem, write=FShowPropertiesItem, default=1};
};
class DELPHICLASS TCommonShellMultiParentContextMenu;
class PASCALIMPLEMENTATION TCommonShellMultiParentContextMenu : public TCommonShellContextMenu
{
typedef TCommonShellContextMenu inherited;
protected:
virtual void __fastcall LoadRegistryKeyStrings(TNamespace* Focused);
public:
virtual bool __fastcall ExecuteContextMenuVerb(Controls::TWinControl* Owner, TNamespaceArray Namespaces, AnsiString Verb);
virtual bool __fastcall ShowContextMenu(Controls::TWinControl* Owner, TNamespace* Focused, TNamespaceArray Namespaces, Types::PPoint Position = (void *)(0x0));
__published:
__property OnHide ;
__property OnShellMenuCopy ;
__property OnShellMenuCreateShortCut ;
__property OnShellMenuCut ;
__property OnShellMenuDelete ;
__property OnShellMenuNewFolder ;
__property OnShellMenuPaste ;
__property OnShellMenuPasteLink ;
__property OnShellMenuPasteShortCut ;
__property OnShellMenuProperites ;
__property RenameMenuItem = {default=1};
__property PasteMenuItem = {default=1};
__property OnShow ;
public:
#pragma option push -w-inl
/* TCommonShellContextMenu.Create */ inline __fastcall virtual TCommonShellMultiParentContextMenu(Classes::TComponent* AOwner) : TCommonShellContextMenu(AOwner) { }
#pragma option pop
#pragma option push -w-inl
/* TCommonShellContextMenu.Destroy */ inline __fastcall virtual ~TCommonShellMultiParentContextMenu(void) { }
#pragma option pop
};
//-- var, const, procedure ---------------------------------------------------
static const Shortint DefaultDetailColumns = 0x5;
static const Shortint ID_TIMER_NOTIFY = 0x64;
static const Shortint ID_TIMER_ENUMBKGND = 0x65;
static const Shortint ID_TIMER_AUTOSCROLL = 0x66;
static const Shortint ID_TIMER_SHELLNOTIFY = 0x67;
static const Shortint SHORTCUT_ICON_INDEX = 0x1d;
static const Shortint SHELL_NAMESPACE_ID = -1;
static const Word SHGDN_FOREDITING = 0x1000;
static const Word DEFAULTPIDLARRAYSIZE = 0x2000;
static const Shortint STREAM_VERSION_DEFAULT = -1;
#define STR_IMAGE_THREAD_EVENT "jdkImageThreadEvent"
extern PACKAGE int VET_DEFAULT_COLUMNWIDTHS[37];
extern PACKAGE int VET_DEFAULT_DRIVES_COLUMNWIDTHS[4];
extern PACKAGE int VET_DEFAULT_CONTROLPANEL_COLUMNWIDTHS[2];
extern PACKAGE int VET_DEFAULT_NETWORK_COLUMNWIDTHS[2];
extern PACKAGE Mpcommonobjects::TCommonPIDLManager* PIDLMgr;
extern PACKAGE TNamespace* DesktopFolder;
extern PACKAGE TNamespace* RecycleBinFolder;
extern PACKAGE TNamespace* PhysicalDesktopFolder;
extern PACKAGE TNamespace* DrivesFolder;
extern PACKAGE TNamespace* HistoryFolder;
extern PACKAGE TNamespace* PrinterFolder;
extern PACKAGE TNamespace* ControlPanelFolder;
extern PACKAGE TNamespace* NetworkNeighborHoodFolder;
extern PACKAGE TNamespace* TemplatesFolder;
extern PACKAGE TNamespace* MyDocumentsFolder;
extern PACKAGE TNamespace* FavoritesFolder;
extern PACKAGE TNamespace* ProgramFilesFolder;
extern PACKAGE TNamespace* UserDocumentsFolder;
extern PACKAGE TSHLimitInputEdit SHLimitInputEdit;
extern PACKAGE Word __stdcall (*AnimateWindow)(HWND Wnd, unsigned dwTime, unsigned dwFlags);
extern PACKAGE bool MP_UseModalDialogs;
extern PACKAGE bool MP_UseSpecialReparsePointOverlay;
extern PACKAGE bool MP_ThreadedShellExecute;
extern PACKAGE bool __fastcall SpecialVariableReplacePath(WideString &Path);
extern PACKAGE bool __fastcall IsSpecialVariable(WideString TestPath, TNamespace* &NS);
extern PACKAGE AnsiString __fastcall GUIDToInterfaceStr(const GUID &riid);
extern PACKAGE TShellContextMenuFlags __fastcall CFM_FlagsToShellContextMenuFlags(unsigned Flags);
extern PACKAGE bool __fastcall ClipboardContainsShellFormats(void);
extern PACKAGE bool __fastcall MPBrowseForFolder(WideString Title, Shlobj::PItemIDList RootFolder, Shlobj::PItemIDList InitialPath, TMPBrowseFlags BrowseFlags, Shlobj::PItemIDList &SelectedPath)/* overload */;
extern PACKAGE bool __fastcall MPBrowseForFolder(WideString Title, WideString RootFolder, WideString InitialPath, TMPBrowseFlags BrowseFlags, WideString &SelectedPath)/* overload */;
extern PACKAGE int __fastcall MergeMenuIntoContextMenu(Menus::TPopupMenu* Menu, HMENU ContextMenu, int Index, unsigned idStart);
extern PACKAGE Mpcommonobjects::TPIDLArray __fastcall NamespaceToRelativePIDLArray(TNamespaceArray Namespaces);
extern PACKAGE Shlobj::PItemIDList __fastcall FindBrowseableRootPIDL(TNamespace* NS);
extern PACKAGE bool __fastcall IsParentBrowseable(TNamespace* NS);
extern PACKAGE Mpcommonobjects::TPIDLArray __fastcall NamespaceToAbsolutePIDLArray(TNamespaceArray Namespaces);
extern PACKAGE Shlobj::PItemIDList __fastcall PathToPIDL(WideString APath);
extern PACKAGE WideString __fastcall PIDLToPath(Shlobj::PItemIDList APIDL);
extern PACKAGE bool __fastcall IENamespaceShown(bool PerUser);
extern PACKAGE bool __fastcall DirExistsVET(WideString APath, bool ShowSystemMessages)/* overload */;
extern PACKAGE bool __fastcall DirExistsVET(TNamespace* NS, bool ShowSystemMessages)/* overload */;
extern PACKAGE int __fastcall RectWidth(const Types::TRect &ARect);
extern PACKAGE int __fastcall RectHeight(const Types::TRect &ARect);
extern PACKAGE bool __fastcall PotentialMappedDrive(TNamespace* NS);
extern PACKAGE unsigned __fastcall FileObjectsToFlags(TFileObjects FileObjects);
extern PACKAGE WideString __fastcall FileObjectsToString(TFileObjects FileObjects);
extern PACKAGE bool __fastcall ConvertLocalStrToTFileTime(WideString LocalStr, _FILETIME &FileTime);
extern PACKAGE WideString __fastcall ConvertTFileTimeToLocalStr(const _FILETIME &AFileTime);
extern PACKAGE System::TDateTime __fastcall ConvertFileTimetoDateTime(const _FILETIME &AFileTime);
extern PACKAGE TNamespace* __fastcall CreateSpecialNamespace(int FolderID);
extern PACKAGE int __fastcall DefaultSystemImageIndex(TDefaultFolderIcon FolderType);
extern PACKAGE BOOL __stdcall FileIconInit(BOOL FullInit);
extern PACKAGE bool __fastcall CreateShellLink(WideString ALnkFilePath, WideString ATargetFilePath, WideString AnArguments = L"", WideString AWorkingDir = L"", WideString ADescription = L"", TCmdShow AShowCmd = (TCmdShow)(0xa), Word AHotKey = (Word)(0x0), THotKeyModifiers AHotKeyModifier = THotKeyModifiers() , WideString AnIconLocation = L"", int AnIconIndex = 0x0);
extern PACKAGE WideString __fastcall HotKeyModifiersToStr(THotKeyModifiers HotKeyMod);
extern PACKAGE void __fastcall PIDLQuickSort(Mpcommonobjects::TPIDLArray PIDLList, const _di_IShellFolder ParentFolder, int L, int R);
extern PACKAGE void __fastcall PIDLListQuickSort(Mpcommonobjects::TCommonPIDLList* PIDLList, const _di_IShellFolder ParentFolder, int L, int R);
extern PACKAGE bool __fastcall GetDiskFreeSpaceMP(WideChar * Drive, unsigned &SectorsperCluster, unsigned &BytesperSector, unsigned &FreeClusters, unsigned &TotalClusters);
extern PACKAGE __int64 __fastcall DriveSize(WideChar * Drive)/* overload */;
extern PACKAGE WideString __fastcall DriveSize(WideChar * Drive, TBtyeSize ByteSize)/* overload */;
extern PACKAGE __int64 __fastcall DriveFreeSpace(WideChar * Drive)/* overload */;
extern PACKAGE WideString __fastcall DriveFreeSpace(WideChar * Drive, TBtyeSize ByteSize)/* overload */;
} /* namespace Mpshellutilities */
using namespace Mpshellutilities;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Mpshellutilities