Shell32; // Microsoft Shell Controls And Automation
Dispatch IFolderViewOC; // Folder View Events Forwarder Object
GUID={9BA05970-F6A8-11CF-A442-00A0C90A8F39};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function SetFolderView(pdisp:IDispatch);
Dispatch DShellFolderViewEvents; // Event interface for ShellFolderView
GUID={62112AA2-EBE4-11CF-A5FB-0020AFE7292D};
function SelectionChanged;
function EnumDone;
Class ShellFolderViewOC; // Shell Folder View Events Router.
GUID={9BA05971-F6A8-11CF-A442-00A0C90A8F39};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function SetFolderView(pdisp:IDispatch);
function SelectionChanged;
function EnumDone;
Dispatch DFConstraint; // Constraint used in search command
GUID={4A3DF050-23BD-11D2-939F-00A0C91EEDBA};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Name: BSTR;
property-get Value: variant;
Dispatch ISearchCommandExt; // DocFind automation interface
GUID={1D2EFD50-75CE-11D1-B75A-00A0C90564FE};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function ClearResults;
function NavigateToSearchResults;
property-get ProgressText: BSTR;
function SaveSearch;
function GetErrorInfo(out pbs:^BSTR): INT;
function SearchFor(iFor:INT);
function GetScopeInfo(bsScope:BSTR; out pdwScopeInfo:^INT);
function RestoreSavedSearch(pvarFile:^variant);
function Execute(RecordsAffected:^variant; Parameters:^variant; Options:I4);
function AddConstraint(Name:BSTR; Value:variant);
function GetNextConstraint(fReset:bool): ^DFConstraint;
Enum SearchCommandExecuteErrors; // Search Command Execute Errors
GUID={418F4E6A-B903-11D1-B0A6-00C04FC33AA5};
SCEE_PATHNOTFOUND = 1;
SCEE_MAXFILESFOUND = 2;
SCEE_INDEXSEARCH = 3;
SCEE_CONSTRAINT = 4;
SCEE_SCOPEMISMATCH = 5;
SCEE_CASESENINDEX = 6;
SCEE_INDEXNOTCOMPLETE = 7;
Dispatch FolderItem; // Definition of interface FolderItem
GUID={FAC32C80-CBE4-11CE-8350-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Name: BSTR;
property-put Name(BSTR);
property-get Path: BSTR;
property-get GetLink: IDispatch;
property-get GetFolder: IDispatch;
property-get IsLink: bool;
property-get IsFolder: bool;
property-get IsFileSystem: bool;
property-get IsBrowsable: bool;
property-get ModifyDate: date;
property-put ModifyDate(date);
property-get Size: I4;
property-get Type: BSTR;
function Verbs: ^FolderItemVerbs;
function InvokeVerb([vVerb:variant]);
Dispatch FolderItemVerbs; // Definition of interface FolderItemVerbs
GUID={1F8352C0-50B0-11CF-960C-0080C7F4EE85};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Count: I4;
property-get Application: IDispatch;
property-get Parent: IDispatch;
function Item([index:variant]): ^FolderItemVerb;
function _NewEnum: IUnknown;
Dispatch FolderItemVerb; // Definition of interface FolderItemVerb
GUID={08EC3E00-50B0-11CF-960C-0080C7F4EE85};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Name: BSTR;
function DoIt;
Dispatch FolderItems; // Definition of interface FolderItems
GUID={744129E0-CBE5-11CE-8350-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Count: I4;
property-get Application: IDispatch;
property-get Parent: IDispatch;
function Item([index:variant]): ^FolderItem;
function _NewEnum: IUnknown;
Dispatch Folder; // Definition of interface Folder
GUID={BBCBDE60-C3FF-11CE-8350-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Title: BSTR;
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get ParentFolder: ^Folder;
function Items: ^FolderItems;
function ParseName(bName:BSTR): ^FolderItem;
function NewFolder(bName:BSTR; [vOptions:variant]);
function MoveHere(vItem:variant; [vOptions:variant]);
function CopyHere(vItem:variant; [vOptions:variant]);
function GetDetailsOf(vItem:variant; iColumn:INT): BSTR;
Dispatch Folder2; // Definition of interface Folder2
GUID={F0D2D8EF-3890-11D2-BF8B-00C04FB93661};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Title: BSTR;
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get ParentFolder: ^Folder;
function Items: ^FolderItems;
function ParseName(bName:BSTR): ^FolderItem;
function NewFolder(bName:BSTR; [vOptions:variant]);
function MoveHere(vItem:variant; [vOptions:variant]);
function CopyHere(vItem:variant; [vOptions:variant]);
function GetDetailsOf(vItem:variant; iColumn:INT): BSTR;
property-get Self: ^FolderItem;
property-get OfflineStatus: I4;
function Synchronize;
property-get HaveToShowWebViewBarricade: bool;
function DismissedWebViewBarricade;
Enum OfflineFolderStatus; // Constants for Folder2.OfflineStatus
GUID={35F1A0D0-3E9A-11D2-8499-005345000000};
OFS_INACTIVE = -1;
OFS_ONLINE = 0;
OFS_OFFLINE = 1;
OFS_SERVERBACK = 2;
OFS_DIRTYCACHE = 3;
Dispatch FolderItem2; // Definition of interface FolderItem Version 2
GUID={EDC817AA-92B8-11D1-B075-00C04FC33AA5};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Name: BSTR;
property-put Name(BSTR);
property-get Path: BSTR;
property-get GetLink: IDispatch;
property-get GetFolder: IDispatch;
property-get IsLink: bool;
property-get IsFolder: bool;
property-get IsFileSystem: bool;
property-get IsBrowsable: bool;
property-get ModifyDate: date;
property-put ModifyDate(date);
property-get Size: I4;
property-get Type: BSTR;
function Verbs: ^FolderItemVerbs;
function InvokeVerb([vVerb:variant]);
function InvokeVerbEx([vVerb:variant; vArgs:variant]);
function ExtendedProperty(bstrPropName:BSTR): variant;
Class ShellFolderItem; // Shell Folder Item
GUID={2FE352EA-FD1F-11D2-B1F4-00C04F8EEB3E};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Name: BSTR;
property-put Name(BSTR);
property-get Path: BSTR;
property-get GetLink: IDispatch;
property-get GetFolder: IDispatch;
property-get IsLink: bool;
property-get IsFolder: bool;
property-get IsFileSystem: bool;
property-get IsBrowsable: bool;
property-get ModifyDate: date;
property-put ModifyDate(date);
property-get Size: I4;
property-get Type: BSTR;
function Verbs: ^FolderItemVerbs;
function InvokeVerb([vVerb:variant]);
function InvokeVerbEx([vVerb:variant; vArgs:variant]);
function ExtendedProperty(bstrPropName:BSTR): variant;
Dispatch FolderItems2; // Definition of interface FolderItems Version 2
GUID={C94F0AD0-F363-11D2-A327-00C04F8EEC7F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Count: I4;
property-get Application: IDispatch;
property-get Parent: IDispatch;
function Item([index:variant]): ^FolderItem;
function _NewEnum: IUnknown;
function InvokeVerbEx([vVerb:variant; vArgs:variant]);
Dispatch IShellLinkDual; // Definition of Shell Link IDispatch interface
GUID={88A05C00-F000-11CE-8350-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Path: BSTR;
property-put Path(BSTR);
property-get Description: BSTR;
property-put Description(BSTR);
property-get WorkingDirectory: BSTR;
property-put WorkingDirectory(BSTR);
property-get Arguments: BSTR;
property-put Arguments(BSTR);
property-get Hotkey: INT;
property-put Hotkey(INT);
property-get ShowCommand: INT;
property-put ShowCommand(INT);
function Resolve(fFlags:INT);
function GetIconLocation(out pbs:^BSTR): INT;
function SetIconLocation(bs:BSTR; iIcon:INT);
function Save([vWhere:variant]);
Dispatch IShellLinkDual2; // Shell Link2 IDispatch interface
GUID={317EE249-F12E-11D2-B1E4-00C04F8EEB3E};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Path: BSTR;
property-put Path(BSTR);
property-get Description: BSTR;
property-put Description(BSTR);
property-get WorkingDirectory: BSTR;
property-put WorkingDirectory(BSTR);
property-get Arguments: BSTR;
property-put Arguments(BSTR);
property-get Hotkey: INT;
property-put Hotkey(INT);
property-get ShowCommand: INT;
property-put ShowCommand(INT);
function Resolve(fFlags:INT);
function GetIconLocation(out pbs:^BSTR): INT;
function SetIconLocation(bs:BSTR; iIcon:INT);
function Save([vWhere:variant]);
property-get Target: ^FolderItem;
Class ShellLinkObject; // Shell Link object
GUID={11219420-1768-11D1-95BE-00609797EA4F};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Path: BSTR;
property-put Path(BSTR);
property-get Description: BSTR;
property-put Description(BSTR);
property-get WorkingDirectory: BSTR;
property-put WorkingDirectory(BSTR);
property-get Arguments: BSTR;
property-put Arguments(BSTR);
property-get Hotkey: INT;
property-put Hotkey(INT);
property-get ShowCommand: INT;
property-put ShowCommand(INT);
function Resolve(fFlags:INT);
function GetIconLocation(out pbs:^BSTR): INT;
function SetIconLocation(bs:BSTR; iIcon:INT);
function Save([vWhere:variant]);
Dispatch IShellFolderViewDual; // definition of interface IShellFolderViewDual
GUID={E7A1AF80-4D96-11CF-960C-0080C7F4EE85};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Folder: ^Folder;
function SelectedItems: ^FolderItems;
property-get FocusedItem: ^FolderItem;
function SelectItem(pvfi:^variant; dwFlags:INT);
function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;
property-get Script: IDispatch;
property-get ViewOptions: I4;
Class ShellFolderView; // Shell Folder View Object
GUID={62112AA1-EBE4-11CF-A5FB-0020AFE7292D};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Folder: ^Folder;
function SelectedItems: ^FolderItems;
property-get FocusedItem: ^FolderItem;
function SelectItem(pvfi:^variant; dwFlags:INT);
function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;
property-get Script: IDispatch;
property-get ViewOptions: I4;
function SelectionChanged;
function EnumDone;
Enum ShellFolderViewOptions; // Constants for ViewOptions
GUID={742A99A0-C77E-11D0-A32C-00A0C91EEDBA};
SFVVO_SHOWALLOBJECTS = 1;
SFVVO_SHOWEXTENSIONS = 2;
SFVVO_SHOWCOMPCOLOR = 8;
SFVVO_SHOWSYSFILES = 32;
SFVVO_WIN95CLASSIC = 64;
SFVVO_DOUBLECLICKINWEBVIEW = 128;
SFVVO_DESKTOPHTML = $200;
Dispatch IShellDispatch; // Definition of interface IShellDispatch
GUID={D8F015C0-C278-11CE-A49E-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
function NameSpace(vDir:variant): ^Folder;
function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;
function Windows: IDispatch;
function Open(vDir:variant);
function Explore(vDir:variant);
function MinimizeAll;
function UndoMinimizeALL;
function FileRun;
function CascadeWindows;
function TileVertically;
function TileHorizontally;
function ShutdownWindows;
function Suspend;
function EjectPC;
function SetTime;
function TrayProperties;
function Help;
function FindFiles;
function FindComputer;
function RefreshMenu;
function ControlPanelItem(szDir:BSTR);
Dispatch IShellDispatch2; // Updated IShellDispatch
GUID={A4C6892C-3BA9-11D2-9DEA-00C04FB16162};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
function NameSpace(vDir:variant): ^Folder;
function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;
function Windows: IDispatch;
function Open(vDir:variant);
function Explore(vDir:variant);
function MinimizeAll;
function UndoMinimizeALL;
function FileRun;
function CascadeWindows;
function TileVertically;
function TileHorizontally;
function ShutdownWindows;
function Suspend;
function EjectPC;
function SetTime;
function TrayProperties;
function Help;
function FindFiles;
function FindComputer;
function RefreshMenu;
function ControlPanelItem(szDir:BSTR);
function IsRestricted(Group:BSTR; Restriction:BSTR): I4;
function ShellExecute(File:BSTR; [vArgs:variant; vDir:variant; vOperation:variant; vShow:variant]);
function FindPrinter(Name:BSTR; location:BSTR; model:BSTR);
function GetSystemInformation(Name:BSTR): variant;
function ServiceStart(ServiceName:BSTR; Persistent:variant): variant;
function ServiceStop(ServiceName:BSTR; Persistent:variant): variant;
function IsServiceRunning(ServiceName:BSTR): variant;
function CanStartStopService(ServiceName:BSTR): variant;
function ShowBrowserBar(bstrClsid:BSTR; bShow:variant): variant;
Class Shell; // Shell Object Type Information
GUID={13709620-C279-11CE-A49E-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
function NameSpace(vDir:variant): ^Folder;
function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;
function Windows: IDispatch;
function Open(vDir:variant);
function Explore(vDir:variant);
function MinimizeAll;
function UndoMinimizeALL;
function FileRun;
function CascadeWindows;
function TileVertically;
function TileHorizontally;
function ShutdownWindows;
function Suspend;
function EjectPC;
function SetTime;
function TrayProperties;
function Help;
function FindFiles;
function FindComputer;
function RefreshMenu;
function ControlPanelItem(szDir:BSTR);
Class ShellDispatchInproc; // ShellDispatch Load in Shell Context
GUID={0A89A860-D7B1-11CE-8350-444553540000};
function QueryInterface(riid:^GUID; out ppvObj:^^void): HResult;
function AddRef: UI4;
function Release: UI4;
Class WebViewFolderContents;
GUID={1820FED0-473E-11D0-A96C-00C04FD705A2};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
property-get Application: IDispatch;
property-get Parent: IDispatch;
property-get Folder: ^Folder;
function SelectedItems: ^FolderItems;
property-get FocusedItem: ^FolderItem;
function SelectItem(pvfi:^variant; dwFlags:INT);
function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;
property-get Script: IDispatch;
property-get ViewOptions: I4;
function SelectionChanged;
function EnumDone;
Enum ShellSpecialFolderConstants; // Constants for Special Folders for open/Explore
GUID={CA31EA20-48D0-11CF-8350-444553540000};
ssfDESKTOP = 0;
ssfPROGRAMS = 2;
ssfCONTROLS = 3;
ssfPRINTERS = 4;
ssfPERSONAL = 5;
ssfFAVORITES = 6;
ssfSTARTUP = 7;
ssfRECENT = 8;
ssfSENDTO = 9;
ssfBITBUCKET = 10;
ssfSTARTMENU = 11;
ssfDESKTOPDIRECTORY = 16;
ssfDRIVES = 17;
ssfNETWORK = 18;
ssfNETHOOD = 19;
ssfFONTS = 20;
ssfTEMPLATES = 21;
ssfCOMMONSTARTMENU = 22;
ssfCOMMONPROGRAMS = 23;
ssfCOMMONSTARTUP = 24;
ssfCOMMONDESKTOPDIR = 25;
ssfAPPDATA = 26;
ssfPRINTHOOD = 27;
ssfLOCALAPPDATA = 28;
ssfALTSTARTUP = 29;
ssfCOMMONALTSTARTUP = 30;
ssfCOMMONFAVORITES = 31;
ssfINTERNETCACHE = 32;
ssfCOOKIES = 33;
ssfHISTORY = 34;
ssfCOMMONAPPDATA = 35;
ssfWINDOWS = 36;
ssfSYSTEM = 37;
ssfPROGRAMFILES = 38;
ssfMYPICTURES = 39;
ssfPROFILE = 40;
ssfSYSTEMx86 = 41;
ssfPROGRAMFILESx86 = 48;
Dispatch DSearchCommandEvents; // Event interface for command events
GUID={60890160-69F0-11D1-B758-00A0C90564FE};
function SearchStart: HResult;
function SearchComplete: HResult;
function SearchAbort: HResult;
function RecordsetUpdate: HResult;
function ProgressTextChanged: HResult;
function SearchError: HResult;
function SearchRestored: HResult;
Class SearchCommand; // Search command object.
GUID={B005E690-678D-11D1-B758-00A0C90564FE};
function GetTypeInfoCount(out pctinfo:^UINT): HResult;
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void): HResult;
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4): HResult;
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT): HResult;
function SearchStart: HResult;
function SearchComplete: HResult;
function SearchAbort: HResult;
function RecordsetUpdate: HResult;
function ProgressTextChanged: HResult;
function SearchError: HResult;
function SearchRestored: HResult;
Dispatch IFileSearchBand; // IFileSearchBand Interface
GUID={2D91EEA1-9932-11D2-BE86-00A0C9A83DA1};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function SetFocus;
function SetSearchParameters(pbstrSearchID:^BSTR; bNavToResults:bool; [pvarScope:^variant; pvarQueryFile:^variant]);
property-get SearchID: BSTR;
property-get Scope: variant;
property-get QueryFile: variant;
Class FileSearchBand; // FileSearchBand Class
GUID={C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1};
function QueryInterface(riid:^GUID; out ppvObj:^^void);
function AddRef: UI4;
function Release: UI4;
function GetTypeInfoCount(out pctinfo:^UINT);
function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);
function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);
function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);
function SetFocus;
function SetSearchParameters(pbstrSearchID:^BSTR; bNavToResults:bool; [pvarScope:^variant; pvarQueryFile:^variant]);
property-get SearchID: BSTR;
property-get Scope: variant;
property-get QueryFile: variant;