#include #include "shdispid.h" //=--------------------------------------------------------------------------= // the libid for this type libray // [ uuid(EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Microsoft Internet and Shell Controls"), // VB has a maximum limit for this helpstring! lcid(0x0000), version(1.0) ] library SHDocVw { // standard imports // importlib(STDOLE_TLB); // // // // primary dispatch interface for CShellExplorer control // [ uuid(EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Shell Explorer Control"), hidden, dual, odl ] interface IShellExplorer : IDispatch { // properties // [id(0), propget, helpstring("Returns the friendly name of the Location")] HRESULT Value([out, retval] BSTR *pbstrLocation); [id(DISPID_LOCATION), propget, helpstring("Returns/sets location in namespace to view")] HRESULT Location([out, retval] BSTR *pbstrLocation); [id(DISPID_LOCATION), propput] HRESULT Location([in] BSTR bstrLocation); [id(DISPID_FOLDERFLAGS), propget, helpstring("Returns/sets FWF_ folder flags")] HRESULT FolderFlags([out, retval] int *pfFlags); [id(DISPID_FOLDERFLAGS), propput] HRESULT FolderFlags([in] int fFlags); [id(DISPID_FOLDERVIEWMODE), propget, helpstring("Returns/sets FVM_ folder view mode")] HRESULT FolderViewMode([out, retval] int *pnViewMode); [id(DISPID_FOLDERVIEWMODE), propput] HRESULT FolderViewMode([in] int nViewMode); [id(DISPID_AUTOSIZE), propget, helpstring("Returns/sets auto-size mode")] HRESULT AutoSize([out, retval] boolean *pfAutoSize); [id(DISPID_AUTOSIZE), propput] HRESULT AutoSize([in] boolean fAutoSize); [id(DISPID_BORDERVISIBLE), propget, helpstring("Returns/sets border-visible flag")] HRESULT BorderVisible([out, retval] boolean *pfBorderVisible); [id(DISPID_BORDERVISIBLE), propput] HRESULT BorderVisible([in] boolean fBorderVisible); // methods // [id(DISPID_BROWSE), helpstring("Browse for a new folder to view")] HRESULT Browse(void); [id(DISPID_NAVIGATE), helpstring("Navigate through the history list")] HRESULT Navigate([in] int nDirection); [id(DISPID_REFRESH), helpstring("Refresh view")] HRESULT Refresh(void); // DIExplorer methods // [helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)] HRESULT GoBack(); [helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)] HRESULT GoForward(); [helpstring("Go home/start page."), helpcontext(0x0000)] HRESULT GoHome(); [helpstring("Go Search Page."), helpcontext(0x0000)] HRESULT GoSearch(); [helpstring("Opens a file."), helpcontext(0x0000)] HRESULT Open( [in] BSTR Target, [in,optional]VARIANT* Location, [in,optional] VARIANT* NoHistory); // [helpstring("Navigates to a hyperlink."), helpcontext(0x0000)] // HRESULT Navigate([in]DHyperLink* Hlink, // [in,optional]VARIANT* OpenInNewWindow, // [in,optional] VARIANT* NoHistory); [helpstring("Exits Shell Explorer and closes the open window."), helpcontext(0x0000)] HRESULT Quit(); // [helpstring("Refreshes the current file."), helpcontext(0x0000)] // HRESULT Refresh(); [helpstring("Stops opening a file."), helpcontext(0x0000)] HRESULT Stop(); [helpstring("Prints the current document."), helpcontext(0x0000)] HRESULT PrintOut([in] long What, [in] VARIANT Numbering, [in, optional] VARIANT FirstPage, [in, optional] VARIANT Sections, [in, optional] VARIANT FileName, [in, optional] VARIANT PrinterName, [in, optional] VARIANT DriverName, [in, optional] VARIANT PortName, [in, optional] VARIANT NoPrinting); // // DIExplorer Properties // [propget, helpstring("Returns a pointer to this OC."), helpcontext(0x0000)] HRESULT Application([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns a pointer to the container."), helpcontext(0x0000)] HRESULT Container([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the active Document."), helpcontext(0x0000)] HRESULT Document([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the file name (sans path) of ."), helpcontext(0x0000)] HRESULT FileName([out,retval] BSTR* pbstrFileName); [propget, helpstring("Returns the full pathname to ."), helpcontext(0x0000)] HRESULT FullName([out,retval] BSTR* pbstrFullName); [propget, helpstring("Determines whether this control is full screen or not."), helpcontext(0x0000)] HRESULT FullScreen([out, retval] boolean* pBool); [propput, helpstring("Sets this control to be full screen or not."), helpcontext(0x0000)] HRESULT FullScreen([in] boolean Value); // [id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)] // HRESULT Name([out,retval] BSTR* pbstrName); [propget, helpstring("Returns a pointer to the parent Object."), helpcontext(0x0000)] HRESULT Parent([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the full pathname to the IExplorer(BUGBUG) executable."), helpcontext(0x0000)] HRESULT Path([out,retval] BSTR* pbstrPath); [propget, helpstring("Huh? -- always FALSE for an OC..."), helpcontext(0x0000)] HRESULT TopLevelContainer([out, retval] boolean* pBool); [propget, helpstring("Returns the type of the contained object."), helpcontext(0x0000)] HRESULT Type([out,retval] BSTR* pbstrType); [propget, helpstring("Determines whether this OC is visible or hidden."), helpcontext(0x0000)] HRESULT Visible([out, retval] boolean* pBool); [propput] HRESULT Visible([in] boolean Value); // DIExplorer Window stuff... [propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)] HRESULT Left([out, retval] long *pl); [propput] HRESULT Left([in] long Left); [propget, helpstring("The vertical position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)] HRESULT Top([out, retval] long *pl); [propput] HRESULT Top([in] long Top); [propget, helpstring("The horizontal dimension (pixels) of the frame window"), helpcontext(0x0000)] HRESULT Width([out, retval] long *pl); [propput] HRESULT Width([in] long Width); [propget, helpstring("The vertical dimension (pixels) of the frame window"), helpcontext(0x0000)] HRESULT Height([out, retval] long *pl); [propput] HRESULT Height([in] long Height); // Added a property to see if the viewer is currenly busy or not... [propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)] HRESULT Busy([out,retval] boolean *pBool); }; // event interface for CShellExplorer controls ... // [ uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Event interface for Shell Explorer Control"), hidden ] dispinterface DShellExplorerEvents { properties: methods: [id(DISPID_ON_BEGIN_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] void OnBeginNavigate([in]IDispatch * HLink, [in, out]boolean * Cancel); [id(DISPID_ON_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] void OnNavigate([in]IDispatch * HLink); [id(DISPID_ON_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] void OnStatusTextChange([in]BSTR bstrText); #if 0 [id(0xfffffda0), helpstring("Fired when an error occurs."), helpcontext(0x0000)] void OnError([in] long Number, [in,out] BSTR* Description, [in]BSTR Source, [in]BSTR HelpFile, [in] long HelpContext, [in, out] boolean* CancelDisplay); #endif [id(DISPID_ON_QUIT),helpstring("Fired when application is quiting."), helpcontext(0x0000)] void OnQuit([in, out] boolean * Cancel); }; // coclass for CShellExplorer controls // [ uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Shell Explorer Control") ] coclass ShellExplorer { [default] interface IShellExplorer; [default, source] dispinterface DShellExplorerEvents; }; // // // // primary dispatch interface for CSHItemOC control // [ uuid(EAB22AC4-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Shell Item Control"), hidden, dual, odl ] interface ISHItemOC : IDispatch { // properties // [id(0), propget, helpstring("Returns the friendly name of the Location")] HRESULT Value([out, retval] BSTR *pbstrLocation); [id(DISPID_LOCATION), propget, helpstring("Location of object to view")] HRESULT Location([out, retval] BSTR *pbstrLocation); [id(DISPID_LOCATION), propput] HRESULT Location([in] BSTR bstrLocation); // methods // [id(DISPID_BROWSE), helpstring("Select a new item to view")] HRESULT Browse(void); }; // event interface for CSHItemOC controls ... // [ uuid(EAB22AC5-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Event interface for Shell Item Control"), hidden ] dispinterface DSHItemOCEvents { properties: methods: }; // coclass for CSHItemOC controls // [ uuid(EAB22AC6-30C1-11CF-A7EB-0000C05BAE0B), helpstring("Shell Item Control") ] coclass SHItemOC { [default] interface ISHItemOC; [default, source] dispinterface DSHItemOCEvents; }; // IID_DHyperLink: {0002DF07-0000-0000-C000-000000000046} [ uuid(0002DF07-0000-0000-C000-000000000046), helpstring("HyperLink Object."), helpcontext(0x0000), hidden, oleautomation, dual ] interface DHyperLink : IDispatch { // id(0) indicates that this is the "value" member. [id(0), propget, helpstring("Returns or sets the Friendly Name for the HyperLink."), helpcontext(0x0000)] HRESULT FriendlyName([out, retval] BSTR* pbstrName); [id(0), propput, helpstring("Returns or sets the Friendly Name for the HyperLink."), helpcontext(0x0000)] HRESULT FriendlyName([in] BSTR bstrName); [propget, helpstring("Returns or sets the string reference for the HyperLink."), helpcontext(0x0000)] HRESULT Target([out,retval] BSTR* pbstrTarget); [propput, helpstring("Returns or sets the string reference for the HyperLink."), helpcontext(0x0000)] HRESULT Target([in] BSTR bstrTarget); [propget, helpstring("Returns or sets the location within the HyperLink."), helpcontext(0x0000)] HRESULT Location([out,retval] BSTR* pbstrLocation); [propput, helpstring("Returns or sets the location within the HyperLink."), helpcontext(0x0000)] HRESULT Location([in] BSTR bstrLocation); [helpstring("Jumps to the hyperlink."), helpcontext(0x0000)] HRESULT Navigate([in,optional]VARIANT* OpenInNewWindow, [in,optional] VARIANT* NoHistory); [propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)] HRESULT Parent([out,retval] IDispatch** ppDisp); }; // IID_DIExplorer: {0002DF05-0000-0000-C000-000000000046} [ uuid(0002DF05-0000-0000-C000-000000000046), helpstring("Internet Explorer Frame Object."), helpcontext(0x0000), hidden, oleautomation, dual ] interface DIExplorer : IDispatch { // // Methods // [helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)] HRESULT GoBack(); [helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)] HRESULT GoForward(); [helpstring("Go home/start page."), helpcontext(0x0000)] HRESULT GoHome(); [helpstring("Go Search Page."), helpcontext(0x0000)] HRESULT GoSearch(); [helpstring("Opens a file."), helpcontext(0x0000)] HRESULT Open( [in] BSTR Target, [in,optional]VARIANT* Location, [in,optional] VARIANT* NoHistory); [helpstring("Navigates to a hyperlink."), helpcontext(0x0000)] HRESULT Navigate([in]DHyperLink* Hlink, [in,optional]VARIANT* OpenInNewWindow, [in,optional] VARIANT* NoHistory); [helpstring("Exits IExplorer and closes the open document."), helpcontext(0x0000)] HRESULT Quit(); [helpstring("Refreshes the current file."), helpcontext(0x0000)] HRESULT Refresh(); [helpstring("Stops opening a file."), helpcontext(0x0000)] HRESULT Stop(); [helpstring("Prints the current document."), helpcontext(0x0000)] HRESULT PrintOut([in] long What, [in] VARIANT Numbering, [in, optional] VARIANT FirstPage, [in, optional] VARIANT Sections, [in, optional] VARIANT FileName, [in, optional] VARIANT PrinterName, [in, optional] VARIANT DriverName, [in, optional] VARIANT PortName, [in, optional] VARIANT NoPrinting); // // Properties // [propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)] HRESULT Application([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns a pointer to the containing document if any."), helpcontext(0x0000)] HRESULT Container([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the active Document."), helpcontext(0x0000)] HRESULT Document([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)] HRESULT FileName([out,retval] BSTR* pbstrFileName); [propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)] HRESULT FullName([out,retval] BSTR* pbstrFullName); [propget, helpstring("Determines whether IExplorer is full screen or not."), helpcontext(0x0000)] HRESULT FullScreen([out, retval] boolean* pBool); [propput, helpstring("Sets the IExplorer to be full screen or not."), helpcontext(0x0000)] HRESULT FullScreen([in] boolean Value); [propget, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)] HRESULT StatusBar([out, retval] boolean* pBool); [propput, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)] HRESULT StatusBar([in] boolean Value); [propget, helpstring("Text of Status window."), helpcontext(0x0000)] HRESULT StatusText([out, retval] BSTR *pbstr); [propput, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)] HRESULT StatusText([in] BSTR bstr); [propget, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)] HRESULT ToolBar([out, retval] boolean* pBool); [propput, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)] HRESULT ToolBar([in] boolean Value); [id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)] HRESULT Name([out,retval] BSTR* pbstrName); [propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)] HRESULT Parent([out,retval] IDispatch** ppDisp); [propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)] HRESULT Path([out,retval] BSTR* pbstrPath); [propget, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)] HRESULT TopLevelContainer([out, retval] boolean* pBool); [propget, helpstring("Returns the type of the contained object."), helpcontext(0x0000)] HRESULT Type([out,retval] BSTR* pbstrType); [propget, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)] HRESULT Visible([out, retval] boolean* pBool); [propput, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)] HRESULT Visible([in] boolean Value); // Window stuff... [propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)] HRESULT Left([out, retval] long *pl); [propput] HRESULT Left([in] long Left); [propget, helpstring("The vertical position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)] HRESULT Top([out, retval] long *pl); [propput] HRESULT Top([in] long Top); [propget, helpstring("The horizontal dimension (pixels) of the frame window"), helpcontext(0x0000)] HRESULT Width([out, retval] long *pl); [propput] HRESULT Width([in] long Width); [propget, helpstring("The vertical dimension (pixels) of the frame window"), helpcontext(0x0000)] HRESULT Height([out, retval] long *pl); [propput] HRESULT Height([in] long Height); // Added a property to see if the viewer is currenly busy or not... [propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)] HRESULT Busy([out,retval] boolean *pBool); }; // event interface for the Explorer Frame // [ uuid(0002DF06-0000-0000-C000-000000000046), helpstring("Event interface for IExplorer Frame"), ] dispinterface DExplorerEvents { properties: methods: [id(DISPID_ON_BEGIN_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] void OnBeginNavigate([in]IDispatch * HLink, [in, out]boolean * Cancel); [id(DISPID_ON_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] void OnNavigate([in]IDispatch * HLink); [id(DISPID_ON_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] void OnStatusTextChange([in]BSTR bstrText); #if 0 [id(0xfffffda0), helpstring("Fired when an error occurs."), helpcontext(0x0000)] void OnError([in] long Number, [in,out] BSTR* Description, [in]BSTR Source, [in]BSTR HelpFile, [in] long HelpContext, [in, out] boolean* CancelDisplay); #endif [id(DISPID_ON_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] void OnQuit([in, out] boolean * Cancel); }; //CLSID_InternetExplorer [ uuid(0002DF01-0000-0000-C000-000000000046), helpstring("Internet Explorer Application Object."), ] coclass InternetExplorer { [default] interface DIExplorer; [default, source] dispinterface DExplorerEvents; } //CLSID_StdHyperLink [ uuid(0002DF09-0000-0000-C000-000000000046), helpstring("Internet Explorer Hyperlink Object."), ] coclass StdHyperLink { [default] interface DHyperLink; } typedef [ uuid(0002DF08-0000-0000-C000-000000000046), helpstring("Constants for DInternetHistory") ] enum HlinkIDConstants { [helpstring("Previous Item")] hlidPrevious = 0, [helpstring("Next Item")] hlidNext = 0xFFFFFFFF, [helpstring("Current Item")] hlidCurrent = 0xFFFFFFFE, [helpstring("Last Item")] hlidStackBottom = 0xFFFFFFFD, [helpstring("First Item")] hlidStackTop = 0xFFFFFFFC } HlinkIDConstants; };