打印

[参考资料] IE 浏览器 ActiveX 控件编程参考

本控件通常位于 C:\WINDOWS\system32\shdocvw.dll

此参考版本为 6.00.2900.2937 (xpsp_sp2_gdr.060623-0002)



SHDocVw; // Microsoft Internet Controls

Dispatch IWebBrowser; // Web Browser interface
GUID={EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;

Dispatch DWebBrowserEvents; // Web Browser Control Events (old)
GUID={EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B};
  function BeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function NavigateComplete(URL:BSTR);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function DownloadComplete;
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function NewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function TitleChange(Text:BSTR);
  function FrameBeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function FrameNavigateComplete(URL:BSTR);
  function FrameNewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function Quit(out Cancel:^bool);
  function WindowMove;
  function WindowResize;
  function WindowActivate;
  function PropertyChange(Property:BSTR);

Enum CommandStateChangeConstants; // Constants for WebBrowser CommandStateChange
GUID={34A226E0-DF30-11CF-89A9-00A0C9054129};
  CSC_UPDATECOMMANDS = -1;
  CSC_NAVIGATEFORWARD = 1;
  CSC_NAVIGATEBACK = 2;

Dispatch IWebBrowserApp; // Web Browser Application Interface.
GUID={0002DF05-0000-0000-C000-000000000046};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);

Dispatch IWebBrowser2; // Web Browser Interface for IE4.
GUID={D30C1661-CDAF-11D0-8A3E-00C04FC9E26E};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function Navigate2(URL:^variant; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function QueryStatusWB(cmdID:OLECMDID): OLECMDF;
  function ExecWB(cmdID:OLECMDID; cmdexecopt:OLECMDEXECOPT; [pvaIn:^variant; out pvaOut:^variant]);
  function ShowBrowserBar(pvaClsid:^variant; [pvarShow:^variant; pvarSize:^variant]);
  property-get ReadyState: tagREADYSTATE;
  property-get Offline: bool;
  property-put Offline(bool);
  property-get Silent: bool;
  property-put Silent(bool);
  property-get RegisterAsBrowser: bool;
  property-put RegisterAsBrowser(bool);
  property-get RegisterAsDropTarget: bool;
  property-put RegisterAsDropTarget(bool);
  property-get TheaterMode: bool;
  property-put TheaterMode(bool);
  property-get AddressBar: bool;
  property-put AddressBar(bool);
  property-get Resizable: bool;
  property-put Resizable(bool);

Enum OLECMDID;
  OLECMDID_OPEN = 1;
  OLECMDID_NEW = 2;
  OLECMDID_SAVE = 3;
  OLECMDID_SAVEAS = 4;
  OLECMDID_SAVECOPYAS = 5;
  OLECMDID_PRINT = 6;
  OLECMDID_PRINTPREVIEW = 7;
  OLECMDID_PAGESETUP = 8;
  OLECMDID_SPELL = 9;
  OLECMDID_PROPERTIES = 10;
  OLECMDID_CUT = 11;
  OLECMDID_COPY = 12;
  OLECMDID_PASTE = 13;
  OLECMDID_PASTESPECIAL = 14;
  OLECMDID_UNDO = 15;
  OLECMDID_REDO = 16;
  OLECMDID_SELECTALL = 17;
  OLECMDID_CLEARSELECTION = 18;
  OLECMDID_ZOOM = 19;
  OLECMDID_GETZOOMRANGE = 20;
  OLECMDID_UPDATECOMMANDS = 21;
  OLECMDID_REFRESH = 22;
  OLECMDID_STOP = 23;
  OLECMDID_HIDETOOLBARS = 24;
  OLECMDID_SETPROGRESSMAX = 25;
  OLECMDID_SETPROGRESSPOS = 26;
  OLECMDID_SETPROGRESSTEXT = 27;
  OLECMDID_SETTITLE = 28;
  OLECMDID_SETDOWNLOADSTATE = 29;
  OLECMDID_STOPDOWNLOAD = 30;
  OLECMDID_ONTOOLBARACTIVATED = 31;
  OLECMDID_FIND = 32;
  OLECMDID_DELETE = 33;
  OLECMDID_HTTPEQUIV = 34;
  OLECMDID_HTTPEQUIV_DONE = 35;
  OLECMDID_ENABLE_INTERACTION = 36;
  OLECMDID_ONUNLOAD = 37;
  OLECMDID_PROPERTYBAG2 = 38;
  OLECMDID_PREREFRESH = 39;
  OLECMDID_SHOWSCRIPTERROR = 40;
  OLECMDID_SHOWMESSAGE = 41;
  OLECMDID_SHOWFIND = 42;
  OLECMDID_SHOWPAGESETUP = 43;
  OLECMDID_SHOWPRINT = 44;
  OLECMDID_CLOSE = 45;
  OLECMDID_ALLOWUILESSSAVEAS = 46;
  OLECMDID_DONTDOWNLOADCSS = 47;
  OLECMDID_UPDATEPAGESTATUS = 48;
  OLECMDID_PRINT2 = 49;
  OLECMDID_PRINTPREVIEW2 = 50;
  OLECMDID_SETPRINTTEMPLATE = 51;
  OLECMDID_GETPRINTTEMPLATE = 52;
  OLECMDID_PAGEACTIONBLOCKED = 55;
  OLECMDID_PAGEACTIONUIQUERY = 56;
  OLECMDID_FOCUSVIEWCONTROLS = 57;
  OLECMDID_FOCUSVIEWCONTROLSQUERY = 58;
  OLECMDID_SHOWPAGEACTIONMENU = 59;

Enum OLECMDF;
  OLECMDF_SUPPORTED = 1;
  OLECMDF_ENABLED = 2;
  OLECMDF_LATCHED = 4;
  OLECMDF_NINCHED = 8;
  OLECMDF_INVISIBLE = 16;
  OLECMDF_DEFHIDEONCTXTMENU = 32;

Enum OLECMDEXECOPT;
  OLECMDEXECOPT_DODEFAULT = 0;
  OLECMDEXECOPT_PROMPTUSER = 1;
  OLECMDEXECOPT_DONTPROMPTUSER = 2;
  OLECMDEXECOPT_SHOWHELP = 3;

Enum tagREADYSTATE;
  READYSTATE_UNINITIALIZED = 0;
  READYSTATE_LOADING = 1;
  READYSTATE_LOADED = 2;
  READYSTATE_INTERACTIVE = 3;
  READYSTATE_COMPLETE = 4;

Enum SecureLockIconConstants; // Constants for WebBrowser security icon notification
GUID={65507BE0-91A8-11D3-A845-009027220E6D};
  secureLockIconUnsecure = 0;
  secureLockIconMixed = 1;
  secureLockIconSecureUnknownBits = 2;
  secureLockIconSecure40Bit = 3;
  secureLockIconSecure56Bit = 4;
  secureLockIconSecureFortezza = 5;
  secureLockIconSecure128Bit = 6;

Dispatch DWebBrowserEvents2; // Web Browser Control events interface
GUID={34A715A0-6587-11D0-924A-0020AFC7AC4D};
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function DownloadComplete;
  function TitleChange(Text:BSTR);
  function PropertyChange(szProperty:BSTR);
  function BeforeNavigate2(pDisp:IDispatch; URL:^variant; Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant; out Cancel:^bool);
  function NewWindow2(out ppDisp:^IDispatch; out Cancel:^bool);
  function NavigateComplete2(pDisp:IDispatch; URL:^variant);
  function DocumentComplete(pDisp:IDispatch; URL:^variant);
  function OnQuit;
  function OnVisible(Visible:bool);
  function OnToolBar(ToolBar:bool);
  function OnMenuBar(MenuBar:bool);
  function OnStatusBar(StatusBar:bool);
  function OnFullScreen(FullScreen:bool);
  function OnTheaterMode(TheaterMode:bool);
  function WindowSetResizable(Resizable:bool);
  function WindowSetLeft(Left:I4);
  function WindowSetTop(Top:I4);
  function WindowSetWidth(Width:I4);
  function WindowSetHeight(Height:I4);
  function WindowClosing(IsChildWindow:bool; out Cancel:^bool);
  function ClientToHostWindow(out CX:^I4; out CY:^I4);
  function SetSecureLockIcon(SecureLockIcon:I4);
  function FileDownload(out Cancel:^bool);
  function NavigateError(pDisp:IDispatch; URL:^variant; Frame:^variant; StatusCode:^variant; out Cancel:^bool);
  function PrintTemplateInstantiation(pDisp:IDispatch);
  function PrintTemplateTeardown(pDisp:IDispatch);
  function UpdatePageStatus(pDisp:IDispatch; nPage:^variant; fDone:^variant);
  function PrivacyImpactedStateChange(bImpacted:bool);
  function NewWindow3(out ppDisp:^IDispatch; out Cancel:^bool; dwFlags:UI4; bstrUrlContext:BSTR; bstrUrl:BSTR);

Class WebBrowser_V1; // WebBrowser Control
GUID={EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function Navigate2(URL:^variant; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function QueryStatusWB(cmdID:OLECMDID): OLECMDF;
  function ExecWB(cmdID:OLECMDID; cmdexecopt:OLECMDEXECOPT; [pvaIn:^variant; out pvaOut:^variant]);
  function ShowBrowserBar(pvaClsid:^variant; [pvarShow:^variant; pvarSize:^variant]);
  property-get ReadyState: tagREADYSTATE;
  property-get Offline: bool;
  property-put Offline(bool);
  property-get Silent: bool;
  property-put Silent(bool);
  property-get RegisterAsBrowser: bool;
  property-put RegisterAsBrowser(bool);
  property-get RegisterAsDropTarget: bool;
  property-put RegisterAsDropTarget(bool);
  property-get TheaterMode: bool;
  property-put TheaterMode(bool);
  property-get AddressBar: bool;
  property-put AddressBar(bool);
  property-get Resizable: bool;
  property-put Resizable(bool);
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function DownloadComplete;
  function TitleChange(Text:BSTR);
  function PropertyChange(szProperty:BSTR);
  function BeforeNavigate2(pDisp:IDispatch; URL:^variant; Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant; out Cancel:^bool);
  function NewWindow2(out ppDisp:^IDispatch; out Cancel:^bool);
  function NavigateComplete2(pDisp:IDispatch; URL:^variant);
  function DocumentComplete(pDisp:IDispatch; URL:^variant);
  function OnQuit;
  function OnVisible(Visible:bool);
  function OnToolBar(ToolBar:bool);
  function OnMenuBar(MenuBar:bool);
  function OnStatusBar(StatusBar:bool);
  function OnFullScreen(FullScreen:bool);
  function OnTheaterMode(TheaterMode:bool);
  function WindowSetResizable(Resizable:bool);
  function WindowSetLeft(Left:I4);
  function WindowSetTop(Top:I4);
  function WindowSetWidth(Width:I4);
  function WindowSetHeight(Height:I4);
  function WindowClosing(IsChildWindow:bool; out Cancel:^bool);
  function ClientToHostWindow(out CX:^I4; out CY:^I4);
  function SetSecureLockIcon(SecureLockIcon:I4);
  function FileDownload(out Cancel:^bool);
  function NavigateError(pDisp:IDispatch; URL:^variant; Frame:^variant; StatusCode:^variant; out Cancel:^bool);
  function PrintTemplateInstantiation(pDisp:IDispatch);
  function PrintTemplateTeardown(pDisp:IDispatch);
  function UpdatePageStatus(pDisp:IDispatch; nPage:^variant; fDone:^variant);
  function PrivacyImpactedStateChange(bImpacted:bool);
  function NewWindow3(out ppDisp:^IDispatch; out Cancel:^bool; dwFlags:UI4; bstrUrlContext:BSTR; bstrUrl:BSTR);
  function BeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function NavigateComplete(URL:BSTR);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function DownloadComplete;
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function NewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function TitleChange(Text:BSTR);
  function FrameBeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function FrameNavigateComplete(URL:BSTR);
  function FrameNewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function Quit(out Cancel:^bool);
  function WindowMove;
  function WindowResize;
  function WindowActivate;
  function PropertyChange(Property:BSTR);

Class WebBrowser; // WebBrowser Control
GUID={8856F961-340A-11D0-A96B-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);
  function GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function Navigate2(URL:^variant; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function QueryStatusWB(cmdID:OLECMDID): OLECMDF;
  function ExecWB(cmdID:OLECMDID; cmdexecopt:OLECMDEXECOPT; [pvaIn:^variant; out pvaOut:^variant]);
  function ShowBrowserBar(pvaClsid:^variant; [pvarShow:^variant; pvarSize:^variant]);
  property-get ReadyState: tagREADYSTATE;
  property-get Offline: bool;
  property-put Offline(bool);
  property-get Silent: bool;
  property-put Silent(bool);
  property-get RegisterAsBrowser: bool;
  property-put RegisterAsBrowser(bool);
  property-get RegisterAsDropTarget: bool;
  property-put RegisterAsDropTarget(bool);
  property-get TheaterMode: bool;
  property-put TheaterMode(bool);
  property-get AddressBar: bool;
  property-put AddressBar(bool);
  property-get Resizable: bool;
  property-put Resizable(bool);
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function DownloadComplete;
  function TitleChange(Text:BSTR);
  function PropertyChange(szProperty:BSTR);
  function BeforeNavigate2(pDisp:IDispatch; URL:^variant; Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant; out Cancel:^bool);
  function NewWindow2(out ppDisp:^IDispatch; out Cancel:^bool);
  function NavigateComplete2(pDisp:IDispatch; URL:^variant);
  function DocumentComplete(pDisp:IDispatch; URL:^variant);
  function OnQuit;
  function OnVisible(Visible:bool);
  function OnToolBar(ToolBar:bool);
  function OnMenuBar(MenuBar:bool);
  function OnStatusBar(StatusBar:bool);
  function OnFullScreen(FullScreen:bool);
  function OnTheaterMode(TheaterMode:bool);
  function WindowSetResizable(Resizable:bool);
  function WindowSetLeft(Left:I4);
  function WindowSetTop(Top:I4);
  function WindowSetWidth(Width:I4);
  function WindowSetHeight(Height:I4);
  function WindowClosing(IsChildWindow:bool; out Cancel:^bool);
  function ClientToHostWindow(out CX:^I4; out CY:^I4);
  function SetSecureLockIcon(SecureLockIcon:I4);
  function FileDownload(out Cancel:^bool);
  function NavigateError(pDisp:IDispatch; URL:^variant; Frame:^variant; StatusCode:^variant; out Cancel:^bool);
  function PrintTemplateInstantiation(pDisp:IDispatch);
  function PrintTemplateTeardown(pDisp:IDispatch);
  function UpdatePageStatus(pDisp:IDispatch; nPage:^variant; fDone:^variant);
  function PrivacyImpactedStateChange(bImpacted:bool);
  function NewWindow3(out ppDisp:^IDispatch; out Cancel:^bool; dwFlags:UI4; bstrUrlContext:BSTR; bstrUrl:BSTR);
  function BeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function NavigateComplete(URL:BSTR);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function DownloadComplete;
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function NewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function TitleChange(Text:BSTR);
  function FrameBeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function FrameNavigateComplete(URL:BSTR);
  function FrameNewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function Quit(out Cancel:^bool);
  function WindowMove;
  function WindowResize;
  function WindowActivate;
  function PropertyChange(Property:BSTR);

Class InternetExplorer; // Internet Explorer Application.
GUID={0002DF01-0000-0000-C000-000000000046};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function Navigate2(URL:^variant; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function QueryStatusWB(cmdID:OLECMDID): OLECMDF;
  function ExecWB(cmdID:OLECMDID; cmdexecopt:OLECMDEXECOPT; [pvaIn:^variant; out pvaOut:^variant]);
  function ShowBrowserBar(pvaClsid:^variant; [pvarShow:^variant; pvarSize:^variant]);
  property-get ReadyState: tagREADYSTATE;
  property-get Offline: bool;
  property-put Offline(bool);
  property-get Silent: bool;
  property-put Silent(bool);
  property-get RegisterAsBrowser: bool;
  property-put RegisterAsBrowser(bool);
  property-get RegisterAsDropTarget: bool;
  property-put RegisterAsDropTarget(bool);
  property-get TheaterMode: bool;
  property-put TheaterMode(bool);
  property-get AddressBar: bool;
  property-put AddressBar(bool);
  property-get Resizable: bool;
  property-put Resizable(bool);
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function DownloadComplete;
  function TitleChange(Text:BSTR);
  function PropertyChange(szProperty:BSTR);
  function BeforeNavigate2(pDisp:IDispatch; URL:^variant; Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant; out Cancel:^bool);
  function NewWindow2(out ppDisp:^IDispatch; out Cancel:^bool);
  function NavigateComplete2(pDisp:IDispatch; URL:^variant);
  function DocumentComplete(pDisp:IDispatch; URL:^variant);
  function OnQuit;
  function OnVisible(Visible:bool);
  function OnToolBar(ToolBar:bool);
  function OnMenuBar(MenuBar:bool);
  function OnStatusBar(StatusBar:bool);
  function OnFullScreen(FullScreen:bool);
  function OnTheaterMode(TheaterMode:bool);
  function WindowSetResizable(Resizable:bool);
  function WindowSetLeft(Left:I4);
  function WindowSetTop(Top:I4);
  function WindowSetWidth(Width:I4);
  function WindowSetHeight(Height:I4);
  function WindowClosing(IsChildWindow:bool; out Cancel:^bool);
  function ClientToHostWindow(out CX:^I4; out CY:^I4);
  function SetSecureLockIcon(SecureLockIcon:I4);
  function FileDownload(out Cancel:^bool);
  function NavigateError(pDisp:IDispatch; URL:^variant; Frame:^variant; StatusCode:^variant; out Cancel:^bool);
  function PrintTemplateInstantiation(pDisp:IDispatch);
  function PrintTemplateTeardown(pDisp:IDispatch);
  function UpdatePageStatus(pDisp:IDispatch; nPage:^variant; fDone:^variant);
  function PrivacyImpactedStateChange(bImpacted:bool);
  function NewWindow3(out ppDisp:^IDispatch; out Cancel:^bool; dwFlags:UI4; bstrUrlContext:BSTR; bstrUrl:BSTR);
  function BeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function NavigateComplete(URL:BSTR);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function DownloadComplete;
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function NewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function TitleChange(Text:BSTR);
  function FrameBeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function FrameNavigateComplete(URL:BSTR);
  function FrameNewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function Quit(out Cancel:^bool);
  function WindowMove;
  function WindowResize;
  function WindowActivate;
  function PropertyChange(Property:BSTR);

Class ShellBrowserWindow; // Shell Browser Window.
GUID={C08AFD90-F2A1-11D1-8455-00A0C91F3880};
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function Navigate2(URL:^variant; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function QueryStatusWB(cmdID:OLECMDID): OLECMDF;
  function ExecWB(cmdID:OLECMDID; cmdexecopt:OLECMDEXECOPT; [pvaIn:^variant; out pvaOut:^variant]);
  function ShowBrowserBar(pvaClsid:^variant; [pvarShow:^variant; pvarSize:^variant]);
  property-get ReadyState: tagREADYSTATE;
  property-get Offline: bool;
  property-put Offline(bool);
  property-get Silent: bool;
  property-put Silent(bool);
  property-get RegisterAsBrowser: bool;
  property-put RegisterAsBrowser(bool);
  property-get RegisterAsDropTarget: bool;
  property-put RegisterAsDropTarget(bool);
  property-get TheaterMode: bool;
  property-put TheaterMode(bool);
  property-get AddressBar: bool;
  property-put AddressBar(bool);
  property-get Resizable: bool;
  property-put Resizable(bool);
  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 GoBack;
  function GoForward;
  function GoHome;
  function GoSearch;
  function Navigate(URL:BSTR; [Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant]);
  function Refresh;
  function Refresh2([Level:^variant]);
  function Stop;
  property-get Application: IDispatch;
  property-get Parent: IDispatch;
  property-get Container: IDispatch;
  property-get Document: IDispatch;
  property-get TopLevelContainer: bool;
  property-get Type: BSTR;
  property-get Left: I4;
  property-put Left(I4);
  property-get Top: I4;
  property-put Top(I4);
  property-get Width: I4;
  property-put Width(I4);
  property-get Height: I4;
  property-put Height(I4);
  property-get LocationName: BSTR;
  property-get LocationURL: BSTR;
  property-get Busy: bool;
  function Quit;
  function ClientToWindow(out pcx:^INT; out pcy:^INT);
  function PutProperty(Property:BSTR; vtValue:variant);
  function GetProperty(Property:BSTR): variant;
  property-get Name: BSTR;
  property-get HWND: I4;
  property-get FullName: BSTR;
  property-get Path: BSTR;
  property-get Visible: bool;
  property-put Visible(bool);
  property-get StatusBar: bool;
  property-put StatusBar(bool);
  property-get StatusText: BSTR;
  property-put StatusText(BSTR);
  property-get ToolBar: INT;
  property-put ToolBar(INT);
  property-get MenuBar: bool;
  property-put MenuBar(bool);
  property-get FullScreen: bool;
  property-put FullScreen(bool);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function DownloadComplete;
  function TitleChange(Text:BSTR);
  function PropertyChange(szProperty:BSTR);
  function BeforeNavigate2(pDisp:IDispatch; URL:^variant; Flags:^variant; TargetFrameName:^variant; PostData:^variant; Headers:^variant; out Cancel:^bool);
  function NewWindow2(out ppDisp:^IDispatch; out Cancel:^bool);
  function NavigateComplete2(pDisp:IDispatch; URL:^variant);
  function DocumentComplete(pDisp:IDispatch; URL:^variant);
  function OnQuit;
  function OnVisible(Visible:bool);
  function OnToolBar(ToolBar:bool);
  function OnMenuBar(MenuBar:bool);
  function OnStatusBar(StatusBar:bool);
  function OnFullScreen(FullScreen:bool);
  function OnTheaterMode(TheaterMode:bool);
  function WindowSetResizable(Resizable:bool);
  function WindowSetLeft(Left:I4);
  function WindowSetTop(Top:I4);
  function WindowSetWidth(Width:I4);
  function WindowSetHeight(Height:I4);
  function WindowClosing(IsChildWindow:bool; out Cancel:^bool);
  function ClientToHostWindow(out CX:^I4; out CY:^I4);
  function SetSecureLockIcon(SecureLockIcon:I4);
  function FileDownload(out Cancel:^bool);
  function NavigateError(pDisp:IDispatch; URL:^variant; Frame:^variant; StatusCode:^variant; out Cancel:^bool);
  function PrintTemplateInstantiation(pDisp:IDispatch);
  function PrintTemplateTeardown(pDisp:IDispatch);
  function UpdatePageStatus(pDisp:IDispatch; nPage:^variant; fDone:^variant);
  function PrivacyImpactedStateChange(bImpacted:bool);
  function NewWindow3(out ppDisp:^IDispatch; out Cancel:^bool; dwFlags:UI4; bstrUrlContext:BSTR; bstrUrl:BSTR);
  function BeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function NavigateComplete(URL:BSTR);
  function StatusTextChange(Text:BSTR);
  function ProgressChange(Progress:I4; ProgressMax:I4);
  function DownloadComplete;
  function CommandStateChange(Command:I4; Enable:bool);
  function DownloadBegin;
  function NewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function TitleChange(Text:BSTR);
  function FrameBeforeNavigate(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Cancel:^bool);
  function FrameNavigateComplete(URL:BSTR);
  function FrameNewWindow(URL:BSTR; Flags:I4; TargetFrameName:BSTR; PostData:^variant; Headers:BSTR; out Processed:^bool);
  function Quit(out Cancel:^bool);
  function WindowMove;
  function WindowResize;
  function WindowActivate;
  function PropertyChange(Property:BSTR);

Enum ShellWindowTypeConstants; // Constants for ShellWindows registration
GUID={F41E6981-28E5-11D0-82B4-00A0C90C29C5};
  SWC_EXPLORER = 0;
  SWC_BROWSER = 1;
  SWC_3RDPARTY = 2;
  SWC_CALLBACK = 4;

Enum ShellWindowFindWindowOptions; // Options for ShellWindows FindWindow
GUID={7716A370-38CA-11D0-A48B-00A0C90A8F39};
  SWFO_NEEDDISPATCH = 1;
  SWFO_INCLUDEPENDING = 2;
  SWFO_COOKIEPASSED = 4;

Dispatch DShellWindowsEvents; // Event interface for IShellWindows
GUID={FE4106E0-399A-11D0-A48C-00A0C90A8F39};
  function WindowRegistered(lCookie:I4);
  function WindowRevoked(lCookie:I4);

Dispatch IShellWindows; // Definition of interface IShellWindows
GUID={85CB6900-4D95-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;
  function Item([index:variant]): IDispatch;
  function _NewEnum: IUnknown;
  function Register(pid:IDispatch; HWND:I4; swClass:INT; out plCookie:^I4);
  function RegisterPending(lThreadId:I4; pvarloc:^variant; pvarlocRoot:^variant; swClass:INT; out plCookie:^I4);
  function Revoke(lCookie:I4);
  function OnNavigate(lCookie:I4; pvarloc:^variant);
  function OnActivated(lCookie:I4; fActive:bool);
  function FindWindowSW(pvarloc:^variant; pvarlocRoot:^variant; swClass:INT; out pHWND:^I4; swfwOptions:INT): IDispatch;
  function OnCreated(lCookie:I4; punk:IUnknown);
  function ProcessAttachDetach(fAttach:bool);

Class ShellWindows; // ShellDispatch Load in Shell Context
GUID={9BA05972-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);
  property-get Count: I4;
  function Item([index:variant]): IDispatch;
  function _NewEnum: IUnknown;
  function Register(pid:IDispatch; HWND:I4; swClass:INT; out plCookie:^I4);
  function RegisterPending(lThreadId:I4; pvarloc:^variant; pvarlocRoot:^variant; swClass:INT; out plCookie:^I4);
  function Revoke(lCookie:I4);
  function OnNavigate(lCookie:I4; pvarloc:^variant);
  function OnActivated(lCookie:I4; fActive:bool);
  function FindWindowSW(pvarloc:^variant; pvarlocRoot:^variant; swClass:INT; out pHWND:^I4; swfwOptions:INT): IDispatch;
  function OnCreated(lCookie:I4; punk:IUnknown);
  function ProcessAttachDetach(fAttach:bool);
  function WindowRegistered(lCookie:I4);
  function WindowRevoked(lCookie:I4);

Dispatch IShellUIHelper; // Shell UI Helper Control Interface
GUID={729FE2F8-1EA8-11D1-8F85-00C04FC2FBE1};
  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 ResetFirstBootMode;
  function ResetSafeMode;
  function RefreshOfflineDesktop;
  function AddFavorite(URL:BSTR; [Title:^variant]);
  function AddChannel(URL:BSTR);
  function AddDesktopComponent(URL:BSTR; Type:BSTR; [Left:^variant; Top:^variant; Width:^variant; Height:^variant]);
  function IsSubscribed(URL:BSTR): bool;
  function NavigateAndFind(URL:BSTR; strQuery:BSTR; varTargetFrame:^variant);
  function ImportExportFavorites(fImport:bool; strImpExpPath:BSTR);
  function AutoCompleteSaveForm([Form:^variant]);
  function AutoScan(strSearch:BSTR; strFailureUrl:BSTR; [pvarTargetFrame:^variant]);
  function AutoCompleteAttach([Reserved:^variant]);
  function ShowBrowserUI(bstrName:BSTR; pvarIn:^variant): variant;

Class ShellUIHelper;
GUID={64AB4BB7-111E-11D1-8F79-00C04FC2FBE1};
  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 ResetFirstBootMode;
  function ResetSafeMode;
  function RefreshOfflineDesktop;
  function AddFavorite(URL:BSTR; [Title:^variant]);
  function AddChannel(URL:BSTR);
  function AddDesktopComponent(URL:BSTR; Type:BSTR; [Left:^variant; Top:^variant; Width:^variant; Height:^variant]);
  function IsSubscribed(URL:BSTR): bool;
  function NavigateAndFind(URL:BSTR; strQuery:BSTR; varTargetFrame:^variant);
  function ImportExportFavorites(fImport:bool; strImpExpPath:BSTR);
  function AutoCompleteSaveForm([Form:^variant]);
  function AutoScan(strSearch:BSTR; strFailureUrl:BSTR; [pvarTargetFrame:^variant]);
  function AutoCompleteAttach([Reserved:^variant]);
  function ShowBrowserUI(bstrName:BSTR; pvarIn:^variant): variant;

Dispatch DShellNameSpaceEvents;
GUID={55136806-B2DE-11D1-B9F2-00A0C98BC547};
  function FavoritesSelectionChange(cItems:I4; hItem:I4; strName:BSTR; strUrl:BSTR; cVisits:I4; strDate:BSTR; fAvailableOffline:I4);
  function SelectionChange;
  function DoubleClick;
  function Initialized;

Dispatch IShellFavoritesNameSpace; // IShellFavoritesNameSpace Interface
GUID={55136804-B2DE-11D1-B9F2-00A0C98BC547};
  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 MoveSelectionUp;
  function MoveSelectionDown;
  function ResetSort;
  function NewFolder;
  function Synchronize;
  function Import;
  function Export;
  function InvokeContextMenuCommand(strCommand:BSTR);
  function MoveSelectionTo;
  property-get SubscriptionsEnabled: bool;
  function CreateSubscriptionForSelection: bool;
  function DeleteSubscriptionForSelection: bool;
  function SetRoot(bstrFullPath:BSTR);

Dispatch IShellNameSpace; // IShellNameSpace Interface
GUID={E572D3C9-37BE-4AE2-825D-D521763E3108};
  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 MoveSelectionUp;
  function MoveSelectionDown;
  function ResetSort;
  function NewFolder;
  function Synchronize;
  function Import;
  function Export;
  function InvokeContextMenuCommand(strCommand:BSTR);
  function MoveSelectionTo;
  property-get SubscriptionsEnabled: bool;
  function CreateSubscriptionForSelection: bool;
  function DeleteSubscriptionForSelection: bool;
  function SetRoot(bstrFullPath:BSTR);
  property-get EnumOptions: I4;
  property-put EnumOptions(I4);
  property-get SelectedItem: IDispatch;
  property-put SelectedItem(IDispatch);
  property-get Root: variant;
  property-put Root(variant);
  property-get Depth: INT;
  property-put Depth(INT);
  property-get Mode: UINT;
  property-put Mode(UINT);
  property-get Flags: UI4;
  property-put Flags(UI4);
  property-put TVFlags(UI4);
  property-get TVFlags: UI4;
  property-get Columns: BSTR;
  property-put Columns(BSTR);
  property-get CountViewTypes: INT;
  function SetViewType(iType:INT);
  function SelectedItems: IDispatch;
  function Expand(var:variant; iDepth:INT);
  function UnselectAll;

Class ShellNameSpace; // Internet Explorer ShellNameSpace Class
GUID={55136805-B2DE-11D1-B9F2-00A0C98BC547};
  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 MoveSelectionUp;
  function MoveSelectionDown;
  function ResetSort;
  function NewFolder;
  function Synchronize;
  function Import;
  function Export;
  function InvokeContextMenuCommand(strCommand:BSTR);
  function MoveSelectionTo;
  property-get SubscriptionsEnabled: bool;
  function CreateSubscriptionForSelection: bool;
  function DeleteSubscriptionForSelection: bool;
  function SetRoot(bstrFullPath:BSTR);
  property-get EnumOptions: I4;
  property-put EnumOptions(I4);
  property-get SelectedItem: IDispatch;
  property-put SelectedItem(IDispatch);
  property-get Root: variant;
  property-put Root(variant);
  property-get Depth: INT;
  property-put Depth(INT);
  property-get Mode: UINT;
  property-put Mode(UINT);
  property-get Flags: UI4;
  property-put Flags(UI4);
  property-put TVFlags(UI4);
  property-get TVFlags: UI4;
  property-get Columns: BSTR;
  property-put Columns(BSTR);
  property-get CountViewTypes: INT;
  function SetViewType(iType:INT);
  function SelectedItems: IDispatch;
  function Expand(var:variant; iDepth:INT);
  function UnselectAll;
  function FavoritesSelectionChange(cItems:I4; hItem:I4; strName:BSTR; strUrl:BSTR; cVisits:I4; strDate:BSTR; fAvailableOffline:I4);
  function SelectionChange;
  function DoubleClick;
  function Initialized;

Class ShellShellNameSpace; // Shell ShellNameSpace Class
GUID={2F2F1F96-2BC1-4B1C-BE28-EA3774F4676A};
  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 MoveSelectionUp;
  function MoveSelectionDown;
  function ResetSort;
  function NewFolder;
  function Synchronize;
  function Import;
  function Export;
  function InvokeContextMenuCommand(strCommand:BSTR);
  function MoveSelectionTo;
  property-get SubscriptionsEnabled: bool;
  function CreateSubscriptionForSelection: bool;
  function DeleteSubscriptionForSelection: bool;
  function SetRoot(bstrFullPath:BSTR);
  property-get EnumOptions: I4;
  property-put EnumOptions(I4);
  property-get SelectedItem: IDispatch;
  property-put SelectedItem(IDispatch);
  property-get Root: variant;
  property-put Root(variant);
  property-get Depth: INT;
  property-put Depth(INT);
  property-get Mode: UINT;
  property-put Mode(UINT);
  property-get Flags: UI4;
  property-put Flags(UI4);
  property-put TVFlags(UI4);
  property-get TVFlags: UI4;
  property-get Columns: BSTR;
  property-put Columns(BSTR);
  property-get CountViewTypes: INT;
  function SetViewType(iType:INT);
  function SelectedItems: IDispatch;
  function Expand(var:variant; iDepth:INT);
  function UnselectAll;
  function FavoritesSelectionChange(cItems:I4; hItem:I4; strName:BSTR; strUrl:BSTR; cVisits:I4; strDate:BSTR; fAvailableOffline:I4);
  function SelectionChange;
  function DoubleClick;
  function Initialized;

Dispatch IScriptErrorList; // Script Error List Interface
GUID={F3470F24-15FD-11D2-BB2E-00805FF7EFCA};
  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 advanceError;
  function retreatError;
  function canAdvanceError: I4;
  function canRetreatError: I4;
  function getErrorLine: I4;
  function getErrorChar: I4;
  function getErrorCode: I4;
  function getErrorMsg: BSTR;
  function getErrorUrl: BSTR;
  function getAlwaysShowLockState: I4;
  function getDetailsPaneOpen: I4;
  function setDetailsPaneOpen(fDetailsPaneOpen:I4);
  function getPerErrorDisplay: I4;
  function setPerErrorDisplay(fPerErrorDisplay:I4);

Class CScriptErrorList;
GUID={EFD01300-160F-11D2-BB2E-00805FF7EFCA};
  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 advanceError;
  function retreatError;
  function canAdvanceError: I4;
  function canRetreatError: I4;
  function getErrorLine: I4;
  function getErrorChar: I4;
  function getErrorCode: I4;
  function getErrorMsg: BSTR;
  function getErrorUrl: BSTR;
  function getAlwaysShowLockState: I4;
  function getDetailsPaneOpen: I4;
  function setDetailsPaneOpen(fDetailsPaneOpen:I4);
  function getPerErrorDisplay: I4;
  function setPerErrorDisplay(fPerErrorDisplay:I4);

Dispatch ISearch; // Enumerated Search
GUID={BA9239A4-3DD5-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 Id: BSTR;
  property-get URL: BSTR;

Dispatch ISearches; // Searches Enum
GUID={47C922A2-3DD5-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 Count: I4;
  property-get Default: BSTR;
  function Item([index:variant]): ^ISearch;
  function _NewEnum: IUnknown;

Dispatch ISearchAssistantOC; // ISearchAssistantOC Interface
GUID={72423E8F-8011-11D2-BE79-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 AddNextMenuItem(bstrText:BSTR; idItem:I4);
  function SetDefaultSearchUrl(bstrUrl:BSTR);
  function NavigateToDefaultSearch;
  function IsRestricted(bstrGuid:BSTR): bool;
  property-get ShellFeaturesEnabled: bool;
  property-get SearchAssistantDefault: bool;
  property-get Searches: ^ISearches;
  property-get InWebFolder: bool;
  function PutProperty(bPerLocale:bool; bstrName:BSTR; bstrValue:BSTR);
  function GetProperty(bPerLocale:bool; bstrName:BSTR): BSTR;
  property-put EventHandled(bool);
  function ResetNextMenu;
  function FindOnWeb;
  function FindFilesOrFolders;
  function FindComputer;
  function FindPrinter;
  function FindPeople;
  function GetSearchAssistantURL(bSubstitute:bool; bCustomize:bool): BSTR;
  function NotifySearchSettingsChanged;
  property-put ASProvider(BSTR);
  property-get ASProvider: BSTR;
  property-put ASSetting(INT);
  property-get ASSetting: INT;
  function NETDetectNextNavigate;
  function PutFindText(FindText:BSTR);
  property-get Version: INT;
  function EncodeString(bstrValue:BSTR; bstrCharSet:BSTR; bUseUTF8:bool): BSTR;

Dispatch ISearchAssistantOC2; // ISearchAssistantOC2 Interface
GUID={72423E8F-8011-11D2-BE79-00A0C9A83DA2};
  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 AddNextMenuItem(bstrText:BSTR; idItem:I4);
  function SetDefaultSearchUrl(bstrUrl:BSTR);
  function NavigateToDefaultSearch;
  function IsRestricted(bstrGuid:BSTR): bool;
  property-get ShellFeaturesEnabled: bool;
  property-get SearchAssistantDefault: bool;
  property-get Searches: ^ISearches;
  property-get InWebFolder: bool;
  function PutProperty(bPerLocale:bool; bstrName:BSTR; bstrValue:BSTR);
  function GetProperty(bPerLocale:bool; bstrName:BSTR): BSTR;
  property-put EventHandled(bool);
  function ResetNextMenu;
  function FindOnWeb;
  function FindFilesOrFolders;
  function FindComputer;
  function FindPrinter;
  function FindPeople;
  function GetSearchAssistantURL(bSubstitute:bool; bCustomize:bool): BSTR;
  function NotifySearchSettingsChanged;
  property-put ASProvider(BSTR);
  property-get ASProvider: BSTR;
  property-put ASSetting(INT);
  property-get ASSetting: INT;
  function NETDetectNextNavigate;
  function PutFindText(FindText:BSTR);
  property-get Version: INT;
  function EncodeString(bstrValue:BSTR; bstrCharSet:BSTR; bUseUTF8:bool): BSTR;
  property-get ShowFindPrinter: bool;

Dispatch ISearchAssistantOC3; // ISearchAssistantOC3 Interface
GUID={72423E8F-8011-11D2-BE79-00A0C9A83DA3};
  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 AddNextMenuItem(bstrText:BSTR; idItem:I4);
  function SetDefaultSearchUrl(bstrUrl:BSTR);
  function NavigateToDefaultSearch;
  function IsRestricted(bstrGuid:BSTR): bool;
  property-get ShellFeaturesEnabled: bool;
  property-get SearchAssistantDefault: bool;
  property-get Searches: ^ISearches;
  property-get InWebFolder: bool;
  function PutProperty(bPerLocale:bool; bstrName:BSTR; bstrValue:BSTR);
  function GetProperty(bPerLocale:bool; bstrName:BSTR): BSTR;
  property-put EventHandled(bool);
  function ResetNextMenu;
  function FindOnWeb;
  function FindFilesOrFolders;
  function FindComputer;
  function FindPrinter;
  function FindPeople;
  function GetSearchAssistantURL(bSubstitute:bool; bCustomize:bool): BSTR;
  function NotifySearchSettingsChanged;
  property-put ASProvider(BSTR);
  property-get ASProvider: BSTR;
  property-put ASSetting(INT);
  property-get ASSetting: INT;
  function NETDetectNextNavigate;
  function PutFindText(FindText:BSTR);
  property-get Version: INT;
  function EncodeString(bstrValue:BSTR; bstrCharSet:BSTR; bUseUTF8:bool): BSTR;
  property-get ShowFindPrinter: bool;
  property-get SearchCompanionAvailable: bool;
  property-put UseSearchCompanion(bool);
  property-get UseSearchCompanion: bool;

Dispatch _SearchAssistantEvents;
GUID={1611FDDA-445B-11D2-85DE-00C04FA35C89};
  function OnNextMenuSelect(idItem:I4);
  function OnNewSearch;

Class SearchAssistantOC; // Internet Explorer SearchAssistantOC Class
GUID={B45FF030-4447-11D2-85DE-00C04FA35C89};
  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 AddNextMenuItem(bstrText:BSTR; idItem:I4);
  function SetDefaultSearchUrl(bstrUrl:BSTR);
  function NavigateToDefaultSearch;
  function IsRestricted(bstrGuid:BSTR): bool;
  property-get ShellFeaturesEnabled: bool;
  property-get SearchAssistantDefault: bool;
  property-get Searches: ^ISearches;
  property-get InWebFolder: bool;
  function PutProperty(bPerLocale:bool; bstrName:BSTR; bstrValue:BSTR);
  function GetProperty(bPerLocale:bool; bstrName:BSTR): BSTR;
  property-put EventHandled(bool);
  function ResetNextMenu;
  function FindOnWeb;
  function FindFilesOrFolders;
  function FindComputer;
  function FindPrinter;
  function FindPeople;
  function GetSearchAssistantURL(bSubstitute:bool; bCustomize:bool): BSTR;
  function NotifySearchSettingsChanged;
  property-put ASProvider(BSTR);
  property-get ASProvider: BSTR;
  property-put ASSetting(INT);
  property-get ASSetting: INT;
  function NETDetectNextNavigate;
  function PutFindText(FindText:BSTR);
  property-get Version: INT;
  function EncodeString(bstrValue:BSTR; bstrCharSet:BSTR; bUseUTF8:bool): BSTR;
  property-get ShowFindPrinter: bool;
  property-get SearchCompanionAvailable: bool;
  property-put UseSearchCompanion(bool);
  property-get UseSearchCompanion: bool;
  function OnNextMenuSelect(idItem:I4);
  function OnNewSearch;

Class ShellSearchAssistantOC; // Shell SearchAssistantOC Class
GUID={2E71FD0F-AAB1-42C0-9146-6D2C4EDCF07D};
  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 AddNextMenuItem(bstrText:BSTR; idItem:I4);
  function SetDefaultSearchUrl(bstrUrl:BSTR);
  function NavigateToDefaultSearch;
  function IsRestricted(bstrGuid:BSTR): bool;
  property-get ShellFeaturesEnabled: bool;
  property-get SearchAssistantDefault: bool;
  property-get Searches: ^ISearches;
  property-get InWebFolder: bool;
  function PutProperty(bPerLocale:bool; bstrName:BSTR; bstrValue:BSTR);
  function GetProperty(bPerLocale:bool; bstrName:BSTR): BSTR;
  property-put EventHandled(bool);
  function ResetNextMenu;
  function FindOnWeb;
  function FindFilesOrFolders;
  function FindComputer;
  function FindPrinter;
  function FindPeople;
  function GetSearchAssistantURL(bSubstitute:bool; bCustomize:bool): BSTR;
  function NotifySearchSettingsChanged;
  property-put ASProvider(BSTR);
  property-get ASProvider: BSTR;
  property-put ASSetting(INT);
  property-get ASSetting: INT;
  function NETDetectNextNavigate;
  function PutFindText(FindText:BSTR);
  property-get Version: INT;
  function EncodeString(bstrValue:BSTR; bstrCharSet:BSTR; bUseUTF8:bool): BSTR;
  property-get ShowFindPrinter: bool;
  property-get SearchCompanionAvailable: bool;
  property-put UseSearchCompanion(bool);
  property-get UseSearchCompanion: bool;
  function OnNextMenuSelect(idItem:I4);
  function OnNewSearch;
本帖最近评分记录
  • hutia 威望 +1 精品文章 2006-10-1 09:34
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013
(这份资料的好处是:常量列表特别全,且给出了常量的实值,在线的MSDN里是找不到的)
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013
部分参考内容的解说文档
附件: 您所在的用户组无法下载或查看附件,您需要注册/登录后才能查看!
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013
好东东,顶顶

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
[Bound0 专题列表]QUE SAIS-JE?
生物信息技术支持动漫论坛动漫分享群:45274013

TOP