using System;
using System.Runtime;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Security;
using System.Reflection;
using mshtml;
using System.Windows.Forms;
namespace Pajocomo.Windows.Forms
{
/// <summary>
/// Defines the types and values for COM-interop.
/// </summary>
internal sealed class Interop
{
public const int VARIANT_TRUE = -1;
public const int VARIANT_FALSE = 0;
public const int DISPID_AMBIENT_DLCONTROL = -5512;
public const int DISPID_AMBIENT_USERAGENT = -5513;
public const int INET_E_DEFAULT_ACTION = unchecked((int)0x800C0011);
private const string IDocHostShowUIClsidString = "C4D244B0-D43E-11CF-893B-00AA00BDCE1A";
private const string IOleCommandTargetClsidString = "B722BCCB-4E68-101B-A2BC-00AA00404770";
private const string IOleContainerClsidString = "0000011B-0000-0000-C000-000000000046";
private const string IOleObjectClsidString = "00000112-0000-0000-C000-000000000046";
private const string IServiceProviderClsidString = "6d5140c1-7436-11ce-8034-00aa006009fa";
private const string IProfferServiceClsidString = "cb728b20-f786-11ce-92ad-00aa00a74cd0";
private const string DWebBrowserEnvents2ClsidString = "34A715A0-6587-11D0-924A-0020AFC7AC4D";
private const string IAdviseSinkClsidString = "0000010F-0000-0000-C000-000000000046";
private const string IDocHostUIHandlerClsid = "BD3F23C0-D43E-11CF-893B-00AA00BDCE1A";
private const string IOleClientSiteClsidString = "00000118-0000-0000-C000-000000000046";
private const string IWebBrowser2ClsidString = "D30C1661-CDAF-11D0-8A3E-00C04FC9E26E";
public const string WebBrowserClsidString = "8856f961-340a-11d0-a96b-00c04fd705a2";
public static readonly Guid DocHostCommandHandlerClsid = new Guid(0xf38bc242,0xb950,0x11d1,0x89,0x18,0x00,0xc0,0x4f,0xc2,0xc8,0x36);
public sealed class HRESULT
{
public const int S_OK = 0;
public const int S_FALSE = 1;
public const int FALSE = 0;
public const int TRUE = 1;
public const int E_NOTIMPL = unchecked((int)0x80004001L);
public const int E_NOINTERFACE = unchecked((int)0x80004002L);
}
[StructLayout(LayoutKind.Sequential)]
public class COMRECT
{
public int left = 0;
public int top = 0;
public int right = 0;
public int bottom = 0;
}
[StructLayout(LayoutKind.Sequential)]
public class DOCHOSTUIINFO
{
public int cbSize = Marshal.SizeOf(typeof(DOCHOSTUIINFO));
[MarshalAs(UnmanagedType.U4)] public BrowserCapabilities dwFlags = BrowserCapabilities.None;
public uint dwDoubleClick = 0;
[MarshalAs(UnmanagedType.BStr)] public string pchHostCss = null;
[MarshalAs(UnmanagedType.BStr)] public string pchHostNS = null;
}
[StructLayout(LayoutKind.Sequential)]
public sealed class DISPPARAMS
{
public IntPtr rgvarg = IntPtr.Zero;
public IntPtr rgdispidNamedArgs = IntPtr.Zero;
[MarshalAs(UnmanagedType.U4)]
public int cArgs = 0;
[MarshalAs(UnmanagedType.U4)]
public int cNamedArgs = 0;
public DISPPARAMS() {}
}
[StructLayout(LayoutKind.Sequential)]
public class EXCEPINFO
{
[MarshalAs(UnmanagedType.U2)]
public short wCode = 0;
[MarshalAs(UnmanagedType.U2)]
public short wReserved = 0;
[MarshalAs(UnmanagedType.BStr)]
public string bstrSource = null;
[MarshalAs(UnmanagedType.BStr)]
public string bstrDescription = null;
[MarshalAs(UnmanagedType.BStr)]
public string bstrHelpFile = null;
[MarshalAs(UnmanagedType.U4)]
public int dwHelpContext = 0;
public IntPtr pvReserved = IntPtr.Zero;
public IntPtr pfnDeferredFillIn = IntPtr.Zero;
[MarshalAs(UnmanagedType.U4)]
public int scode = 0;
public EXCEPINFO() {}
}
/// <summary><para><c>DWebBrowserEvents2</c> interface.</para><para>Web Browser Control events interface</para></summary>
[Guid(DWebBrowserEnvents2ClsidString)]
[ComImport]
[TypeLibType((short)4112)]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
public interface DWebBrowserEvents2
{
/// <summary>
/// <para><c>StatusTextChange</c> method of <c>DWebBrowserEvents2</c> interface.</para>
/// <para>Statusbar text changed.</para>
/// </summary>
/// <remarks>
/// <para>An original IDL definition of <c>StatusTextChange</c> method was the following: <c>HRESULT StatusTextChange (BSTR Text)</c>;</para>
/// </remarks>
[DispId(102)]
void StatusTextChange ([MarshalAs(UnmanagedType.BStr)] string Text);
/// <summary>
/// <para><c>ProgressChange</c> method of <c>DWebBrowserEvents2</c> interface.</para>
/// <para>Fired when download progress is updated.</para>
/// </summary>
/// <remarks>
/// <para>An original IDL definition of <c>ProgressChange</c> method was the following: <c>HRESULT ProgressChange (long Progress, long ProgressMax)</c>;</para>
/// </remarks>
[DispId(108)]
void ProgressChange (int Progress, int ProgressMax);
/// <summary><para><c>CommandStateChange</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>The enabled state of a command changed.</para></summary>
/// <remarks><para>An original IDL definition of <c>CommandStateChange</c> method was the following: <c>HRESULT CommandStateChange (long Command, VARIANT_BOOL Enable)</c>;</para></remarks>
[DispId(105)]
void CommandStateChange (int Command, [MarshalAs(UnmanagedType.VariantBool)] bool Enable);
/// <summary><para><c>DownloadBegin</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Download of a page started.</para></summary>
/// <remarks><para>An original IDL definition of <c>DownloadBegin</c> method was the following: <c>HRESULT DownloadBegin (void)</c>;</para></remarks>
[DispId(106)]
void DownloadBegin ();
/// <summary><para><c>DownloadComplete</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Download of page complete.</para></summary>
/// <remarks><para>An original IDL definition of <c>DownloadComplete</c> method was the following: <c>HRESULT DownloadComplete (void)</c>;</para></remarks>
[DispId(104)]
void DownloadComplete ();
/// <summary><para><c>TitleChange</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Document title changed.</para></summary>
/// <remarks><para>An original IDL definition of <c>TitleChange</c> method was the following: <c>HRESULT TitleChange (BSTR Text)</c>;</para></remarks>
[DispId(113)]
void TitleChange ([MarshalAs(UnmanagedType.BStr)] string Text);
/// <summary><para><c>PropertyChange</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the PutProperty method has been called.</para></summary>
/// <remarks><para>An original IDL definition of <c>PropertyChange</c> method was the following: <c>HRESULT PropertyChange (BSTR szProperty)</c>;</para></remarks>
[DispId(112)]
void PropertyChange ([MarshalAs(UnmanagedType.BStr)] string szProperty);
/// <summary><para><c>BeforeNavigate2</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified.</para></summary>
/// <remarks><para>An original IDL definition of <c>BeforeNavigate2</c> method was the following: <c>HRESULT BeforeNavigate2 (IDispatch* pDisp, [in] VARIANT* URL, [in] VARIANT* Flags, [in] VARIANT* TargetFrameName, [in] VARIANT* PostData, [in] VARIANT* Headers, [in, out] VARIANT_BOOL* Cancel)</c>;</para></remarks>
[DispId(250)]
void BeforeNavigate2 ([MarshalAs(UnmanagedType.IDispatch)] object pDisp, [In] ref object URL, [In] ref object Flags, [In] ref object TargetFrameName, [In] ref object PostData, [In] ref object Headers, [In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel);
/// <summary><para><c>NewWindow2</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>A new, hidden, non-navigated WebBrowser window is needed.</para></summary>
/// <remarks><para>An original IDL definition of <c>NewWindow2</c> method was the following: <c>HRESULT NewWindow2 ([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL* Cancel)</c>;</para></remarks>
[DispId(251)]
void NewWindow2 ([In, Out, MarshalAs(UnmanagedType.IDispatch)] ref object ppDisp, [In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel);
/// <summary><para><c>NavigateComplete2</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the document being navigated to becomes visible and enters the navigation stack.</para></summary>
/// <remarks><para>An original IDL definition of <c>NavigateComplete2</c> method was the following: <c>HRESULT NavigateComplete2 (IDispatch* pDisp, [in] VARIANT* URL)</c>;</para></remarks>
[DispId(252)]
void NavigateComplete2 ([MarshalAs(UnmanagedType.IDispatch)] object pDisp, [In] ref object URL);
/// <summary><para><c>DocumentComplete</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the document being navigated to reaches ReadyState_Complete.</para></summary>
/// <remarks><para>An original IDL definition of <c>DocumentComplete</c> method was the following: <c>HRESULT DocumentComplete (IDispatch* pDisp, [in] VARIANT* URL)</c>;</para></remarks>
[DispId(259)]
void DocumentComplete ([MarshalAs(UnmanagedType.IDispatch)] object pDisp, [In] ref object URL);
/// <summary><para><c>OnQuit</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when application is quiting.</para></summary>
/// <remarks><para>An original IDL definition of <c>OnQuit</c> method was the following: <c>HRESULT OnQuit (void)</c>;</para></remarks>
[DispId(253)]
void OnQuit ();
/// <summary><para><c>OnVisible</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the window should be shown/hidden</para></summary>
/// <remarks><para>An original IDL definition of <c>OnVisible</c> method was the following: <c>HRESULT OnVisible (VARIANT_BOOL Visible)</c>;</para></remarks>
[DispId(254)]
void OnVisible ([MarshalAs(UnmanagedType.VariantBool)] bool Visible);
/// <summary><para><c>OnToolBar</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the toolbar should be shown/hidden</para></summary>
/// <remarks><para>An original IDL definition of <c>OnToolBar</c> method was the following: <c>HRESULT OnToolBar (VARIANT_BOOL ToolBar)</c>;</para></remarks>
[DispId(255)]
void OnToolBar ([MarshalAs(UnmanagedType.VariantBool)] bool ToolBar);
/// <summary><para><c>OnMenuBar</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the menubar should be shown/hidden</para></summary>
/// <remarks><para>An original IDL definition of <c>OnMenuBar</c> method was the following: <c>HRESULT OnMenuBar (VARIANT_BOOL MenuBar)</c>;</para></remarks>
[DispId(256)]
void OnMenuBar ([MarshalAs(UnmanagedType.VariantBool)] bool MenuBar);
/// <summary><para><c>OnStatusBar</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the statusbar should be shown/hidden</para></summary>
/// <remarks><para>An original IDL definition of <c>OnStatusBar</c> method was the following: <c>HRESULT OnStatusBar (VARIANT_BOOL StatusBar)</c>;</para></remarks>
[DispId(257)]
void OnStatusBar ([MarshalAs(UnmanagedType.VariantBool)] bool StatusBar);
/// <summary><para><c>OnFullScreen</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when fullscreen mode should be on/off</para></summary>
/// <remarks><para>An original IDL definition of <c>OnFullScreen</c> method was the following: <c>HRESULT OnFullScreen (VARIANT_BOOL FullScreen)</c>;</para></remarks>
[DispId(258)]
void OnFullScreen ([MarshalAs(UnmanagedType.VariantBool)] bool FullScreen);
/// <summary><para><c>OnTheaterMode</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when theater mode should be on/off</para></summary>
/// <remarks><para>An original IDL definition of <c>OnTheaterMode</c> method was the following: <c>HRESULT OnTheaterMode (VARIANT_BOOL TheaterMode)</c>;</para></remarks>
[DispId(260)]
void OnTheaterMode ([MarshalAs(UnmanagedType.VariantBool)] bool TheaterMode);
/// <summary><para><c>WindowSetResizable</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the host window should allow/disallow resizing</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowSetResizable</c> method was the following: <c>HRESULT WindowSetResizable (VARIANT_BOOL Resizable)</c>;</para></remarks>
[DispId(262)]
void WindowSetResizable ([MarshalAs(UnmanagedType.VariantBool)] bool Resizable);
/// <summary><para><c>WindowSetLeft</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the host window should change its Left coordinate</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowSetLeft</c> method was the following: <c>HRESULT WindowSetLeft (long Left)</c>;</para></remarks>
[DispId(264)]
void WindowSetLeft (int Left);
/// <summary><para><c>WindowSetTop</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the host window should change its Top coordinate</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowSetTop</c> method was the following: <c>HRESULT WindowSetTop (long Top)</c>;</para></remarks>
[DispId(265)]
void WindowSetTop (int Top);
/// <summary><para><c>WindowSetWidth</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the host window should change its width</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowSetWidth</c> method was the following: <c>HRESULT WindowSetWidth (long Width)</c>;</para></remarks>
[DispId(266)]
void WindowSetWidth (int Width);
/// <summary><para><c>WindowSetHeight</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the host window should change its height</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowSetHeight</c> method was the following: <c>HRESULT WindowSetHeight (long Height)</c>;</para></remarks>
[DispId(267)]
void WindowSetHeight (int Height);
/// <summary><para><c>WindowClosing</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the WebBrowser is about to be closed by script</para></summary>
/// <remarks><para>An original IDL definition of <c>WindowClosing</c> method was the following: <c>HRESULT WindowClosing (VARIANT_BOOL IsChildWindow, [in, out] VARIANT_BOOL* Cancel)</c>;</para></remarks>
[DispId(263)]
void WindowClosing ([MarshalAs(UnmanagedType.VariantBool)] bool IsChildWindow, [In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel);
/// <summary><para><c>ClientToHostWindow</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired to request client sizes be converted to host window sizes</para></summary>
/// <remarks><para>An original IDL definition of <c>ClientToHostWindow</c> method was the following: <c>HRESULT ClientToHostWindow ([in, out] long* CX, [in, out] long* CY)</c>;</para></remarks>
[DispId(268)]
void ClientToHostWindow ([In, Out] ref int CX, [In, Out] ref int CY);
/// <summary><para><c>SetSecureLockIcon</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired to indicate the security level of the current web page contents</para></summary>
/// <remarks><para>An original IDL definition of <c>SetSecureLockIcon</c> method was the following: <c>HRESULT SetSecureLockIcon (long SecureLockIcon)</c>;</para></remarks>
[DispId(269)]
void SetSecureLockIcon (int SecureLockIcon);
/// <summary><para><c>FileDownload</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired to indicate the File Download dialog is opening</para></summary>
/// <remarks><para>An original IDL definition of <c>FileDownload</c> method was the following: <c>HRESULT FileDownload ([in, out] VARIANT_BOOL* Cancel)</c>;</para></remarks>
[DispId(270)]
void FileDownload ([In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel);
/// <summary><para><c>NavigateError</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when a binding error occurs (window or frameset element).</para></summary>
/// <remarks><para>An original IDL definition of <c>NavigateError</c> method was the following: <c>HRESULT NavigateError (IDispatch* pDisp, [in] VARIANT* URL, [in] VARIANT* Frame, [in] VARIANT* StatusCode, [in, out] VARIANT_BOOL* Cancel)</c>;</para></remarks>
[DispId(271)]
void NavigateError ([MarshalAs(UnmanagedType.IDispatch)] object pDisp, [In] ref object URL, [In] ref object Frame, [In] ref object StatusCode, [In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel);
/// <summary><para><c>PrintTemplateInstantiated</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when a print template is instantiated.</para></summary>
/// <remarks><para>An original IDL definition of <c>PrintTemplateInstantiated</c> method was the following: <c>HRESULT PrintTemplateInstantiated (IDispatch* pDisp)</c>;</para></remarks>
[DispId(225)]
void PrintTemplateInstantiated ([MarshalAs(UnmanagedType.IDispatch)] object pDisp);
/// <summary><para><c>PrintTemplateTeardown</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when a print template destroyed.</para></summary>
/// <remarks><para>An original IDL definition of <c>PrintTemplateTeardown</c> method was the following: <c>HRESULT PrintTemplateTeardown (IDispatch* pDisp)</c>;</para></remarks>
[DispId(226)]
void PrintTemplateTeardown ([MarshalAs(UnmanagedType.IDispatch)] object pDisp);
/// <summary><para><c>UpdatePageStatus</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when a page is spooled. When it is fired can be changed by a custom template.</para></summary>
/// <remarks><para>An original IDL definition of <c>UpdatePageStatus</c> method was the following: <c>HRESULT UpdatePageStatus (IDispatch* pDisp, [in] VARIANT* nPage, [in] VARIANT* fDone)</c>;</para></remarks>
[DispId(227)]
void UpdatePageStatus ([MarshalAs(UnmanagedType.IDispatch)] object pDisp, [In] ref object nPage, [In] ref object fDone);
/// <summary><para><c>PrivacyImpactedStateChange</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>Fired when the global privacy impacted state changes</para></summary>
/// <remarks><para>An original IDL definition of <c>PrivacyImpactedStateChange</c> method was the following: <c>HRESULT PrivacyImpactedStateChange (VARIANT_BOOL bImpacted)</c>;</para></remarks>
[DispId(272)]
void PrivacyImpactedStateChange ([MarshalAs(UnmanagedType.VariantBool)] bool bImpacted);
/// <summary><para><c>NewWindow3</c> method of <c>DWebBrowserEvents2</c> interface.</para><para>A new, hidden, non-navigated WebBrowser window is needed.</para></summary>
/// <remarks><para>An original IDL definition of <c>NewWindow3</c> method was the following: <c>HRESULT NewWindow3 ([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL* Cancel, unsigned long dwFlags, BSTR bstrUrlContext, BSTR bstrUrl)</c>;</para></remarks>
[DispId(273)]
void NewWindow3 ([In, Out, MarshalAs(UnmanagedType.IDispatch)] ref object ppDisp, [In, Out, MarshalAs(UnmanagedType.VariantBool)] ref bool Cancel, uint dwFlags, [MarshalAs(UnmanagedType.BStr)] string bstrUrlContext, [MarshalAs(UnmanagedType.BStr)] string bstrUrl);
}
[
ComImport,
Guid(IAdviseSinkClsidString),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IAdviseSink
{
[PreserveSig]
void OnDataChange(
[In] object pFormatetc,
[In] object pStgmed);
[PreserveSig]
void OnViewChange(
int aspect,
int index);
[PreserveSig]
void OnRename(
[In, MarshalAs(UnmanagedType.Interface)] UCOMIMoniker moniker);
[PreserveSig]
void OnSave();
[PreserveSig]
void OnClose();
}
[
ComImport,
Guid("BD3F23C0-D43E-11CF-893B-00AA00BDCE1A"),
ComVisible(true),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IDocHostUIHandler
{
[PreserveSig]
int ShowContextMenu(
int dwID,
ref tagPOINT ppt,
[MarshalAs(UnmanagedType.IUnknown)] object pcmdtReserved,
[MarshalAs(UnmanagedType.IDispatch)] object pdispReserved);
void GetHostInfo([In, Out] DOCHOSTUIINFO pInfo);
void ShowUI(uint dwID, ref object pActiveObject, ref object pCommandTarget, ref object pFrame, ref object pDoc);
void HideUI();
void UpdateUI();
void EnableModeless(int fEnable);
void OnDocWindowActivate(int fActivate);
void OnFrameWindowActivate(int fActivate);
void ResizeBorder(ref tagRECT prcBorder, int pUIWindow, int fRameWindow);
[PreserveSig]
int TranslateAccelerator(ref tagMSG lpMsg, ref Guid pguidCmdGroup, uint nCmdID);
void GetOptionKeyPath([MarshalAs(UnmanagedType.BStr)] ref string pchKey, uint dw);
object GetDropTarget(ref object pDropTarget);
void GetExternal([MarshalAs(UnmanagedType.IDispatch)] out object ppDispatch);
[PreserveSig]
int TranslateUrl(uint dwTranslate,
[MarshalAs(UnmanagedType.BStr)] string pchURLIn,
[MarshalAs(UnmanagedType.BStr)] ref string ppchURLOut);
IDataObject FilterDataObject(IDataObject pDO);
}
[
ComImport,
Guid("C4D244B0-D43E-11CF-893B-00AA00BDCE1A"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IDocHostShowUI
{
[PreserveSig]
uint ShowMessage(IntPtr hwnd,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrText,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrCaption,
uint dwType,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrHelpFile,
uint dwHelpContext,
out int lpResult);
[PreserveSig]
uint ShowHelp(
IntPtr hwnd,
[MarshalAs(UnmanagedType.LPWStr)] string pszHelpFile,
uint uCommand,
uint dwData,
tagPOINT ptMouse,
[MarshalAs(UnmanagedType.IDispatch)] object pDispatchObjectHit);
}
[
ComImport,
GuidAttribute("79EAC9EE-BAF9-11CE-8C82-00AA004BA90B"),
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IInternetSecurityManager
{
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SetSecuritySite(
[In] IntPtr pSite);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetSecuritySite(
out IntPtr pSite);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int MapUrlToZone(
[In,MarshalAs(UnmanagedType.LPWStr)] string pwszUrl,
out UInt32 pdwZone,
[In] UInt32 dwFlags);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetSecurityId(
[In,MarshalAs(UnmanagedType.LPWStr)] string pwszUrl,
[Out] IntPtr pbSecurityId, [In, Out] ref UInt32 pcbSecurityId,
[In] ref UInt32 dwReserved);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ProcessUrlAction(
[In,MarshalAs(UnmanagedType.LPWStr)] string pwszUrl,
UInt32 dwAction,
IntPtr pPolicy, UInt32 cbPolicy,
IntPtr pContext, UInt32 cbContext,
UInt32 dwFlags,
UInt32 dwReserved);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int QueryCustomPolicy(
[In, MarshalAs(UnmanagedType.LPWStr)] string pwszUrl,
ref Guid guidKey,
out IntPtr ppPolicy, out UInt32 pcbPolicy,
IntPtr pContext, UInt32 cbContext,
UInt32 dwReserved);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int SetZoneMapping(
UInt32 dwZone,
[In,MarshalAs(UnmanagedType.LPWStr)] string lpszPattern,
UInt32 dwFlags);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int GetZoneMappings(
[In] UInt32 dwZone,
out UCOMIEnumString ppenumString,
[In] UInt32 dwFlags);
}
[
ComImport,
Guid("00000118-0000-0000-C000-000000000046"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IOleClientSite
{
}
[
//ComVisible(true),
//CLSCompliant(false),
ComImport,
Guid("B722BCCB-4E68-101B-A2BC-00AA00404770"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IOleCommandTarget
{
//[return: MarshalAs(UnmanagedType.I4)][PreserveSig] int
void
QueryStatus(ref Guid pguidCmdGroup, int cCmds, [In, Out] OLECMD prgCmds, [In, Out] IntPtr pCmdText);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int Exec(
[In] IntPtr pguidCmdGroup,
OLECMDID nCmdID,
int nCmdexecopt,
[In] IntPtr pvaIn,
[In] IntPtr pvaOut);
}
[
ComImport,
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
Guid("0000011B-0000-0000-C000-000000000046")
]
public interface IOleContainer
{
[PreserveSig]
int ParseDisplayName(
[In, MarshalAs(UnmanagedType.Interface)] object pbc,
[In, MarshalAs(UnmanagedType.BStr)] string pszDisplayName,
[Out, MarshalAs(UnmanagedType.LPArray)] int[] pchEaten,
[Out, MarshalAs(UnmanagedType.LPArray)] object[] ppmkOut);
[PreserveSig]
int EnumObjects(
[In, MarshalAs(UnmanagedType.U4)] int grfFlags,
out object ppenum);
[PreserveSig]
int LockContainer(
bool fLock);
}
[
ComImport,
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
Guid("00000112-0000-0000-C000-000000000046"),
SuppressUnmanagedCodeSecurity
]
public interface IOleObject
{
[PreserveSig]
int SetClientSite(
[In, MarshalAs(UnmanagedType.Interface)] Interop.IOleClientSite pClientSite);
IOleClientSite GetClientSite();
[PreserveSig]
int SetHostNames(
[In, MarshalAs(UnmanagedType.LPWStr)] string szContainerApp,
[In, MarshalAs(UnmanagedType.LPWStr)] string szContainerObj);
[PreserveSig]
int Close(
int dwSaveOption);
[PreserveSig]
int SetMoniker(
[In, MarshalAs(UnmanagedType.U4)] int dwWhichMoniker,
[In, MarshalAs(UnmanagedType.Interface)] object pmk);
[PreserveSig]
int GetMoniker(
[In, MarshalAs(UnmanagedType.U4)] int dwAssign,
[In, MarshalAs(UnmanagedType.U4)] int dwWhichMoniker,
[MarshalAs(UnmanagedType.Interface)] out object moniker);
[PreserveSig]
int InitFromData(
[In, MarshalAs(UnmanagedType.Interface)] IDataObject pDataObject,
int fCreation,
[In, MarshalAs(UnmanagedType.U4)] int dwReserved);
[PreserveSig]
int GetClipboardData(
[In, MarshalAs(UnmanagedType.U4)] int dwReserved,
out IDataObject data);
[PreserveSig]
int DoVerb(
int iVerb,
[In] IntPtr lpmsg,
[In, MarshalAs(UnmanagedType.Interface)] IOleClientSite pActiveSite,
int lindex,
IntPtr hwndParent,
[In] COMRECT lprcPosRect);
[PreserveSig]
int EnumVerbs(
out object e);
[PreserveSig]
int OleUpdate();
[PreserveSig]
int IsUpToDate();
[PreserveSig]
int GetUserClassID(
[In, Out] ref Guid pClsid);
[PreserveSig]
int GetUserType(
[In, MarshalAs(UnmanagedType.U4)] int dwFormOfType,
[MarshalAs(UnmanagedType.LPWStr)] out string userType);
[PreserveSig]
int SetExtent(
[In, MarshalAs(UnmanagedType.U4)] int dwDrawAspect,
[In] object pSizel);
[PreserveSig]
int GetExtent(
[In, MarshalAs(UnmanagedType.U4)] int dwDrawAspect,
[Out] object pSizel);
[PreserveSig]
int Advise(
IAdviseSink pAdvSink,
out int cookie);
[PreserveSig]
int Unadvise(
[In, MarshalAs(UnmanagedType.U4)] int dwConnection);
[PreserveSig]
int EnumAdvise(
out object e);
[PreserveSig]
int GetMiscStatus(
[In, MarshalAs(UnmanagedType.U4)] int dwAspect,
out int misc);
[PreserveSig]
int SetColorScheme(
[In] object pLogpal);
}
[
ComImport,
Guid("6d5140c1-7436-11ce-8034-00aa006009fa"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IServiceProvider
{
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int QueryService(
ref Guid guidService,
ref Guid riid,
out IntPtr ppvObject);
}
[
ComImport,
Guid("cb728b20-f786-11ce-92ad-00aa00a74cd0"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)
]
public interface IProfferService
{
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ProfferService(ref Guid rguidService, IServiceProvider psp, ref UInt32 pdwCookie);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int RevokeService(UInt32 dwCookie);
}
/// <summary><para><c>IWebBrowser2</c> interface.</para><para>Web Browser Interface for IE4.</para></summary>
[Guid("D30C1661-CDAF-11D0-8A3E-00C04FC9E26E")]
[ComImport]
[TypeLibType((short)4176)]
[DefaultMember("Name")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
public interface IWebBrowser2
{
/// <summary><para><c>GoBack</c> method of <c>IWebBrowser2</c> interface.</para><para>Navigates to the previous item in the history list.</para></summary>
/// <remarks><para>An original IDL definition of <c>GoBack</c> method was the following: <c>HRESULT GoBack (void)</c>;</para></remarks>
[DispId(100)]
void GoBack ();
/// <summary><para><c>GoForward</c> method of <c>IWebBrowser2</c> interface.</para><para>Navigates to the next item in the history list.</para></summary>
/// <remarks><para>An original IDL definition of <c>GoForward</c> method was the following: <c>HRESULT GoForward (void)</c>;</para></remarks>
[DispId(101)]
void GoForward ();
/// <summary><para><c>GoHome</c> method of <c>IWebBrowser2</c> interface.</para><para>Go home/start page.</para></summary>
/// <remarks><para>An original IDL definition of <c>GoHome</c> method was the following: <c>HRESULT GoHome (void)</c>;</para></remarks>
[DispId(102)]
void GoHome ();
/// <summary><para><c>GoSearch</c> method of <c>IWebBrowser2</c> interface.</para><para>Go Search Page.</para></summary>
/// <remarks><para>An original IDL definition of <c>GoSearch</c> method was the following: <c>HRESULT GoSearch (void)</c>;</para></remarks>
[DispId(103)]
void GoSearch ();
/// <summary><para><c>Navigate</c> method of <c>IWebBrowser2</c> interface.</para><para>Navigates to a URL or file.</para></summary>
/// <remarks><para>An original IDL definition of <c>Navigate</c> method was the following: <c>HRESULT Navigate (BSTR URL, [in, optional] VARIANT* Flags, [in, optional] VARIANT* TargetFrameName, [in, optional] VARIANT* PostData, [in, optional] VARIANT* Headers)</c>;</para></remarks>
[DispId(104)]
void Navigate ([MarshalAs(UnmanagedType.BStr)] string URL, [In] ref object Flags, [In] ref object TargetFrameName, [In] ref object PostData, [In] ref object Headers);
/// <summary><para><c>Refresh</c> method of <c>IWebBrowser2</c> interface.</para><para>Refresh the currently viewed page.</para></summary>
/// <remarks><para>An original IDL definition of <c>Refresh</c> method was the following: <c>HRESULT Refresh (void)</c>;</para></remarks>
[DispId(-550)]
void Refresh ();
/// <summary><para><c>Refresh2</c> method of <c>IWebBrowser2</c> interface.</para><para>Refresh the currently viewed page.</para></summary>
/// <remarks><para>An original IDL definition of <c>Refresh2</c> method was the following: <c>HRESULT Refresh2 ([in, optional] VARIANT* Level)</c>;</para></remarks>
[DispId(105)]
void Refresh2 ([In] ref object Level);
/// <summary><para><c>Stop</c> method of <c>IWebBrowser2</c> interface.</para><para>Stops opening a file.</para></summary>
/// <remarks><para>An original IDL definition of <c>Stop</c> method was the following: <c>HRESULT Stop (void)</c>;</para></remarks>
[DispId(106)]
void Stop ();
/// <summary><para><c>Quit</c> method of <c>IWebBrowser2</c> interface.</para><para>Exits application and closes the open document.</para></summary>
/// <remarks><para>An original IDL definition of <c>Quit</c> method was the following: <c>HRESULT Quit (void)</c>;</para></remarks>
[DispId(300)]
void Quit ();
/// <summary><para><c>ClientToWindow</c> method of <c>IWebBrowser2</c> interface.</para><para>Converts client sizes into window sizes.</para></summary>
/// <remarks><para>An original IDL definition of <c>ClientToWindow</c> method was the following: <c>HRESULT ClientToWindow ([in, out] int* pcx, [in, out] int* pcy)</c>;</para></remarks>
[DispId(301)]
void ClientToWindow ([In, Out] ref int pcx, [In, Out] ref int pcy);
/// <summary><para><c>PutProperty</c> method of <c>IWebBrowser2</c> interface.</para><para>Associates vtValue with the name szProperty in the context of the object.</para></summary>
/// <remarks><para>An original IDL definition of <c>PutProperty</c> method was the following: <c>HRESULT PutProperty (BSTR Property, VARIANT vtValue)</c>;</para></remarks>
[DispId(302)]
void PutProperty ([MarshalAs(UnmanagedType.BStr)] string Property, object vtValue);
/// <summary><para><c>GetProperty</c> method of <c>IWebBrowser2</c> interface.</para><para>Retrieve the Associated value for the property vtValue in the context of the object.</para></summary>
/// <remarks><para>An original IDL definition of <c>GetProperty</c> method was the following: <c>HRESULT GetProperty (BSTR Property, [out, retval] VARIANT* ReturnValue)</c>;</para></remarks>
[DispId(303)]
object GetProperty ([MarshalAs(UnmanagedType.BStr)] string Property);
/// <summary><para><c>Navigate2</c> method of <c>IWebBrowser2</c> interface.</para><para>Navigates to a URL or file or pidl.</para></summary>
/// <remarks><para>An original IDL definition of <c>Navigate2</c> method was the following: <c>HRESULT Navigate2 ([in] VARIANT* URL, [in, optional] VARIANT* Flags, [in, optional] VARIANT* TargetFrameName, [in, optional] VARIANT* PostData, [in, optional] VARIANT* Headers)</c>;</para></remarks>
[DispId(500)]
void Navigate2 ([In] ref object URL, [In] ref object Flags, [In] ref object TargetFrameName, [In] ref object PostData, [In] ref object Headers);
/// <summary><para><c>QueryStatusWB</c> method of <c>IWebBrowser2</c> interface.</para><para>IOleCommandTarget::QueryStatus</para></summary>
/// <remarks><para>An original IDL definition of <c>QueryStatusWB</c> method was the following: <c>HRESULT QueryStatusWB (OLECMDID cmdID, [out, retval] OLECMDF* ReturnValue)</c>;</para></remarks>
[DispId(501)]
OLECMDF QueryStatusWB (OLECMDID cmdID);
/// <summary><para><c>ExecWB</c> method of <c>IWebBrowser2</c> interface.</para><para>IOleCommandTarget::Exec</para></summary>
/// <remarks><para>An original IDL definition of <c>ExecWB</c> method was the following: <c>HRESULT ExecWB (OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, [in, optional] VARIANT* pvaIn, [in, out, optional] VARIANT* pvaOut)</c>;</para></remarks>
[DispId(502)]
void ExecWB (OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, [In] ref object pvaIn, [In, Out] ref object pvaOut);
/// <summary><para><c>ShowBrowserBar</c> method of <c>IWebBrowser2</c> interface.</para><para>Set BrowserBar to Clsid</para></summary>
/// <remarks><para>An original IDL definition of <c>ShowBrowserBar</c> method was the following: <c>HRESULT ShowBrowserBar ([in] VARIANT* pvaClsid, [in, optional] VARIANT* pvarShow, [in, optional] VARIANT* pvarSize)</c>;</para></remarks>
[DispId(503)]
void ShowBrowserBar ([In] ref object pvaClsid, [In] ref object pvarShow, [In] ref object pvarSize);
/// <summary><para><c>AddressBar</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls whether address bar is shown</para></summary>
/// <remarks><para>An original IDL definition of <c>AddressBar</c> property was the following: <c>VARIANT_BOOL AddressBar</c>;</para></remarks>
bool AddressBar
{
[DispId(555)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(555)]
set;
}
/// <summary><para><c>Application</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the application automation object if accessible, this automation object otherwise.</para></summary>
/// <remarks><para>An original IDL definition of <c>Application</c> property was the following: <c>IDispatch* Application</c>;</para></remarks>
object Application
{
[DispId(200)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
/// <summary><para><c>Busy</c> property of <c>IWebBrowser2</c> interface.</para><para>Query to see if something is still in progress.</para></summary>
/// <remarks><para>An original IDL definition of <c>Busy</c> property was the following: <c>VARIANT_BOOL Busy</c>;</para></remarks>
bool Busy
{
[DispId(212)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
}
/// <summary><para><c>Container</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the container/parent automation object, if any.</para></summary>
/// <remarks><para>An original IDL definition of <c>Container</c> property was the following: <c>IDispatch* Container</c>;</para></remarks>
object Container
{
[DispId(202)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
/// <summary><para><c>Document</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the active Document automation object, if any.</para></summary>
/// <remarks><para>An original IDL definition of <c>Document</c> property was the following: <c>IDispatch* Document</c>;</para></remarks>
object Document
{
[DispId(203)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
/// <summary><para><c>FullName</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns file specification of the application, including path.</para></summary>
/// <remarks><para>An original IDL definition of <c>FullName</c> property was the following: <c>BSTR FullName</c>;</para></remarks>
string FullName
{
[DispId(400)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>FullScreen</c> property of <c>IWebBrowser2</c> interface.</para><para>Maximizes window and turns off statusbar, toolbar, menubar, and titlebar.</para></summary>
/// <remarks><para>An original IDL definition of <c>FullScreen</c> property was the following: <c>VARIANT_BOOL FullScreen</c>;</para></remarks>
bool FullScreen
{
[DispId(407)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(407)]
set;
}
/// <summary><para><c>Height</c> property of <c>IWebBrowser2</c> interface.</para><para>The vertical dimension (pixels) of the frame window/object.</para></summary>
/// <remarks><para>An original IDL definition of <c>Height</c> property was the following: <c>long Height</c>;</para></remarks>
int Height
{
[DispId(209)]
get;
[DispId(209)]
set;
}
/// <summary><para><c>HWND</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the HWND of the current IE window.</para></summary>
/// <remarks><para>An original IDL definition of <c>HWND</c> property was the following: <c>long HWND</c>;</para></remarks>
int HWND
{
[DispId(-515)]
get;
}
/// <summary><para><c>Left</c> property of <c>IWebBrowser2</c> interface.</para><para>The horizontal position (pixels) of the frame window relative to the screen/container.</para></summary>
/// <remarks><para>An original IDL definition of <c>Left</c> property was the following: <c>long Left</c>;</para></remarks>
int Left
{
[DispId(206)]
get;
[DispId(206)]
set;
}
/// <summary><para><c>LocationName</c> property of <c>IWebBrowser2</c> interface.</para><para>Gets the short (UI-friendly) name of the URL/file currently viewed.</para></summary>
/// <remarks><para>An original IDL definition of <c>LocationName</c> property was the following: <c>BSTR LocationName</c>;</para></remarks>
string LocationName
{
[DispId(210)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>LocationURL</c> property of <c>IWebBrowser2</c> interface.</para><para>Gets the full URL/path currently viewed.</para></summary>
/// <remarks><para>An original IDL definition of <c>LocationURL</c> property was the following: <c>BSTR LocationURL</c>;</para></remarks>
string LocationURL
{
[DispId(211)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>MenuBar</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls whether menubar is shown.</para></summary>
/// <remarks><para>An original IDL definition of <c>MenuBar</c> property was the following: <c>VARIANT_BOOL MenuBar</c>;</para></remarks>
bool MenuBar
{
[DispId(406)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(406)]
set;
}
/// <summary><para><c>Name</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns name of the application.</para></summary>
/// <remarks><para>An original IDL definition of <c>Name</c> property was the following: <c>BSTR Name</c>;</para></remarks>
string Name
{
[DispId(0)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>Offline</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls if the frame is offline (read from cache)</para></summary>
/// <remarks><para>An original IDL definition of <c>Offline</c> property was the following: <c>VARIANT_BOOL Offline</c>;</para></remarks>
bool Offline
{
[DispId(550)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(550)]
set;
}
/// <summary><para><c>Parent</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the automation object of the container/parent if one exists or this automation object.</para></summary>
/// <remarks><para>An original IDL definition of <c>Parent</c> property was the following: <c>IDispatch* Parent</c>;</para></remarks>
object Parent
{
[DispId(201)]
[return: MarshalAs(UnmanagedType.IDispatch)]
get;
}
/// <summary><para><c>Path</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the path to the application.</para></summary>
/// <remarks><para>An original IDL definition of <c>Path</c> property was the following: <c>BSTR Path</c>;</para></remarks>
string Path
{
[DispId(401)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>ReadyState</c> property of <c>IWebBrowser2</c> interface.</para></summary>
/// <remarks><para>An original IDL definition of <c>ReadyState</c> property was the following: <c>tagREADYSTATE ReadyState</c>;</para></remarks>
ReadyState ReadyState
{
[DispId(-525)]
get;
}
/// <summary><para><c>RegisterAsBrowser</c> property of <c>IWebBrowser2</c> interface.</para><para>Registers OC as a top-level browser (for target name resolution)</para></summary>
/// <remarks><para>An original IDL definition of <c>RegisterAsBrowser</c> property was the following: <c>VARIANT_BOOL RegisterAsBrowser</c>;</para></remarks>
bool RegisterAsBrowser
{
[DispId(552)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(552)]
set;
}
/// <summary><para><c>RegisterAsDropTarget</c> property of <c>IWebBrowser2</c> interface.</para><para>Registers OC as a drop target for navigation</para></summary>
/// <remarks><para>An original IDL definition of <c>RegisterAsDropTarget</c> property was the following: <c>VARIANT_BOOL RegisterAsDropTarget</c>;</para></remarks>
bool RegisterAsDropTarget
{
[DispId(553)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(553)]
set;
}
/// <summary><para><c>Resizable</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls whether the window is resizable</para></summary>
/// <remarks><para>An original IDL definition of <c>Resizable</c> property was the following: <c>VARIANT_BOOL Resizable</c>;</para></remarks>
bool Resizable
{
[DispId(556)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(556)]
set;
}
/// <summary><para><c>Silent</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls if any dialog boxes can be shown</para></summary>
/// <remarks><para>An original IDL definition of <c>Silent</c> property was the following: <c>VARIANT_BOOL Silent</c>;</para></remarks>
bool Silent
{
[DispId(551)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(551)]
set;
}
/// <summary><para><c>StatusBar</c> property of <c>IWebBrowser2</c> interface.</para><para>Turn on or off the statusbar.</para></summary>
/// <remarks><para>An original IDL definition of <c>StatusBar</c> property was the following: <c>VARIANT_BOOL StatusBar</c>;</para></remarks>
bool StatusBar
{
[DispId(403)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(403)]
set;
}
/// <summary><para><c>StatusText</c> property of <c>IWebBrowser2</c> interface.</para><para>Text of Status window.</para></summary>
/// <remarks><para>An original IDL definition of <c>StatusText</c> property was the following: <c>BSTR StatusText</c>;</para></remarks>
string StatusText
{
[DispId(404)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
[DispId(404)]
set;
}
/// <summary><para><c>TheaterMode</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls if the browser is in theater mode</para></summary>
/// <remarks><para>An original IDL definition of <c>TheaterMode</c> property was the following: <c>VARIANT_BOOL TheaterMode</c>;</para></remarks>
bool TheaterMode
{
[DispId(554)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(554)]
set;
}
/// <summary><para><c>ToolBar</c> property of <c>IWebBrowser2</c> interface.</para><para>Controls which toolbar is shown.</para></summary>
/// <remarks><para>An original IDL definition of <c>ToolBar</c> property was the following: <c>int ToolBar</c>;</para></remarks>
bool ToolBar
{
[DispId(405)]
get;
[DispId(405)]
set;
}
/// <summary><para><c>Top</c> property of <c>IWebBrowser2</c> interface.</para><para>The vertical position (pixels) of the frame window relative to the screen/container.</para></summary>
/// <remarks><para>An original IDL definition of <c>Top</c> property was the following: <c>long Top</c>;</para></remarks>
int Top
{
[DispId(207)]
get;
[DispId(207)]
set;
}
/// <summary><para><c>TopLevelContainer</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns True if this is the top level object.</para></summary>
/// <remarks><para>An original IDL definition of <c>TopLevelContainer</c> property was the following: <c>VARIANT_BOOL TopLevelContainer</c>;</para></remarks>
bool TopLevelContainer
{
[DispId(204)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
}
/// <summary><para><c>Type</c> property of <c>IWebBrowser2</c> interface.</para><para>Returns the type of the contained document object.</para></summary>
/// <remarks><para>An original IDL definition of <c>Type</c> property was the following: <c>BSTR Type</c>;</para></remarks>
string Type
{
[DispId(205)]
[return: MarshalAs(UnmanagedType.BStr)]
get;
}
/// <summary><para><c>Visible</c> property of <c>IWebBrowser2</c> interface.</para><para>Determines whether the application is visible or hidden.</para></summary>
/// <remarks><para>An original IDL definition of <c>Visible</c> property was the following: <c>VARIANT_BOOL Visible</c>;</para></remarks>
bool Visible
{
[DispId(402)]
[return: MarshalAs(UnmanagedType.VariantBool)]
get;
[DispId(402)]
set;
}
/// <summary><para><c>Width</c> property of <c>IWebBrowser2</c> interface.</para><para>The horizontal dimension (pixels) of the frame window/object.</para></summary>
/// <remarks><para>An original IDL definition of <c>Width</c> property was the following: <c>long Width</c>;</para></remarks>
int Width
{
[DispId(208)]
get;
[DispId(208)]
set;
}
}
[
StructLayout(LayoutKind.Sequential),
CLSCompliant(false)
]
public class OLECMD
{
[MarshalAs(UnmanagedType.U4)]
public int cmdID = 0;
[MarshalAs(UnmanagedType.U4)]
public int cmdf = 0;
public OLECMD() {}
}
public enum OLECMDEXECOPT : int
{
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
OLECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
}
/// <summary><para>OLECMDF enumeration.</para></summary>
[TypeLibType((short)0)]
public enum OLECMDF
{
/// <summary><para><c>OLECMDF_SUPPORTED</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 1.</para></summary>
OLECMDF_SUPPORTED = 1,
/// <summary><para><c>OLECMDF_ENABLED</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 2.</para></summary>
OLECMDF_ENABLED = 2,
/// <summary><para><c>OLECMDF_LATCHED</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 4.</para></summary>
OLECMDF_LATCHED = 4,
/// <summary><para><c>OLECMDF_NINCHED</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 8.</para></summary>
OLECMDF_NINCHED = 8,
/// <summary><para><c>OLECMDF_INVISIBLE</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 16.</para></summary>
OLECMDF_INVISIBLE = 16,
/// <summary><para><c>OLECMDF_DEFHIDEONCTXTMENU</c> constant of <c>OLECMDF</c> enumeration. </para><para>Constant value is 32.</para></summary>
OLECMDF_DEFHIDEONCTXTMENU = 32
}
/// <summary><para>OLECMDID enumeration.</para></summary>
[TypeLibType((short)0)]
public enum OLECMDID : uint
{
/// <summary><para><c>OLECMDID_OPEN</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 1.</para></summary>
OLECMDID_OPEN = 1,
/// <summary><para><c>OLECMDID_NEW</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 2.</para></summary>
OLECMDID_NEW = 2,
/// <summary><para><c>OLECMDID_SAVE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 3.</para></summary>
OLECMDID_SAVE = 3,
/// <summary><para><c>OLECMDID_SAVEAS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 4.</para></summary>
OLECMDID_SAVEAS = 4,
/// <summary><para><c>OLECMDID_SAVECOPYAS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 5.</para></summary>
OLECMDID_SAVECOPYAS = 5,
/// <summary><para><c>OLECMDID_PRINT</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 6.</para></summary>
OLECMDID_PRINT = 6,
/// <summary><para><c>OLECMDID_PRINTPREVIEW</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 7.</para></summary>
OLECMDID_PRINTPREVIEW = 7,
/// <summary><para><c>OLECMDID_PAGESETUP</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 8.</para></summary>
OLECMDID_PAGESETUP = 8,
/// <summary><para><c>OLECMDID_SPELL</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 9.</para></summary>
OLECMDID_SPELL = 9,
/// <summary><para><c>OLECMDID_PROPERTIES</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 10.</para></summary>
OLECMDID_PROPERTIES = 10,
/// <summary><para><c>OLECMDID_CUT</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 11.</para></summary>
OLECMDID_CUT = 11,
/// <summary><para><c>OLECMDID_COPY</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 12.</para></summary>
OLECMDID_COPY = 12,
/// <summary><para><c>OLECMDID_PASTE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 13.</para></summary>
OLECMDID_PASTE = 13,
/// <summary><para><c>OLECMDID_PASTESPECIAL</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 14.</para></summary>
OLECMDID_PASTESPECIAL = 14,
/// <summary><para><c>OLECMDID_UNDO</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 15.</para></summary>
OLECMDID_UNDO = 15,
/// <summary><para><c>OLECMDID_REDO</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 16.</para></summary>
OLECMDID_REDO = 16,
/// <summary><para><c>OLECMDID_SELECTALL</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 17.</para></summary>
OLECMDID_SELECTALL = 17,
/// <summary><para><c>OLECMDID_CLEARSELECTION</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 18.</para></summary>
OLECMDID_CLEARSELECTION = 18,
/// <summary><para><c>OLECMDID_ZOOM</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 19.</para></summary>
OLECMDID_ZOOM = 19,
/// <summary><para><c>OLECMDID_GETZOOMRANGE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 20.</para></summary>
OLECMDID_GETZOOMRANGE = 20,
/// <summary><para><c>OLECMDID_UPDATECOMMANDS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 21.</para></summary>
OLECMDID_UPDATECOMMANDS = 21,
/// <summary><para><c>OLECMDID_REFRESH</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 22.</para></summary>
OLECMDID_REFRESH = 22,
/// <summary><para><c>OLECMDID_STOP</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 23.</para></summary>
OLECMDID_STOP = 23,
/// <summary><para><c>OLECMDID_HIDETOOLBARS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 24.</para></summary>
OLECMDID_HIDETOOLBARS = 24,
/// <summary><para><c>OLECMDID_SETPROGRESSMAX</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 25.</para></summary>
OLECMDID_SETPROGRESSMAX = 25,
/// <summary><para><c>OLECMDID_SETPROGRESSPOS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 26.</para></summary>
OLECMDID_SETPROGRESSPOS = 26,
/// <summary><para><c>OLECMDID_SETPROGRESSTEXT</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 27.</para></summary>
OLECMDID_SETPROGRESSTEXT = 27,
/// <summary><para><c>OLECMDID_SETTITLE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 28.</para></summary>
OLECMDID_SETTITLE = 28,
/// <summary><para><c>OLECMDID_SETDOWNLOADSTATE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 29.</para></summary>
OLECMDID_SETDOWNLOADSTATE = 29,
/// <summary><para><c>OLECMDID_STOPDOWNLOAD</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 30.</para></summary>
OLECMDID_STOPDOWNLOAD = 30,
/// <summary><para><c>OLECMDID_ONTOOLBARACTIVATED</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 31.</para></summary>
OLECMDID_ONTOOLBARACTIVATED = 31,
/// <summary><para><c>OLECMDID_FIND</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 32.</para></summary>
OLECMDID_FIND = 32,
/// <summary><para><c>OLECMDID_DELETE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 33.</para></summary>
OLECMDID_DELETE = 33,
/// <summary><para><c>OLECMDID_HTTPEQUIV</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 34.</para></summary>
OLECMDID_HTTPEQUIV = 34,
/// <summary><para><c>OLECMDID_HTTPEQUIV_DONE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 35.</para></summary>
OLECMDID_HTTPEQUIV_DONE = 35,
/// <summary><para><c>OLECMDID_ENABLE_INTERACTION</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 36.</para></summary>
OLECMDID_ENABLE_INTERACTION = 36,
/// <summary><para><c>OLECMDID_ONUNLOAD</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 37.</para></summary>
OLECMDID_ONUNLOAD = 37,
/// <summary><para><c>OLECMDID_PROPERTYBAG2</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 38.</para></summary>
OLECMDID_PROPERTYBAG2 = 38,
/// <summary><para><c>OLECMDID_PREREFRESH</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 39.</para></summary>
OLECMDID_PREREFRESH = 39,
/// <summary><para><c>OLECMDID_SHOWSCRIPTERROR</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 40.</para></summary>
OLECMDID_SHOWSCRIPTERROR = 40,
/// <summary><para><c>OLECMDID_SHOWMESSAGE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 41.</para></summary>
OLECMDID_SHOWMESSAGE = 41,
/// <summary><para><c>OLECMDID_SHOWFIND</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 42.</para></summary>
OLECMDID_SHOWFIND = 42,
/// <summary><para><c>OLECMDID_SHOWPAGESETUP</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 43.</para></summary>
OLECMDID_SHOWPAGESETUP = 43,
/// <summary><para><c>OLECMDID_SHOWPRINT</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 44.</para></summary>
OLECMDID_SHOWPRINT = 44,
/// <summary><para><c>OLECMDID_CLOSE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 45.</para></summary>
OLECMDID_CLOSE = 45,
/// <summary><para><c>OLECMDID_ALLOWUILESSSAVEAS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 46.</para></summary>
OLECMDID_ALLOWUILESSSAVEAS = 46,
/// <summary><para><c>OLECMDID_DONTDOWNLOADCSS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 47.</para></summary>
OLECMDID_DONTDOWNLOADCSS = 47,
/// <summary><para><c>OLECMDID_UPDATEPAGESTATUS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 48.</para></summary>
OLECMDID_UPDATEPAGESTATUS = 48,
/// <summary><para><c>OLECMDID_PRINT2</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 49.</para></summary>
OLECMDID_PRINT2 = 49,
/// <summary><para><c>OLECMDID_PRINTPREVIEW2</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 50.</para></summary>
OLECMDID_PRINTPREVIEW2 = 50,
/// <summary><para><c>OLECMDID_SETPRINTTEMPLATE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 51.</para></summary>
OLECMDID_SETPRINTTEMPLATE = 51,
/// <summary><para><c>OLECMDID_GETPRINTTEMPLATE</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 52.</para></summary>
OLECMDID_GETPRINTTEMPLATE = 52,
/// <summary><para><c>OLECMDID_PAGEACTIONBLOCKED</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 55.</para></summary>
OLECMDID_PAGEACTIONBLOCKED = 55,
/// <summary><para><c>OLECMDID_PAGEACTIONUIQUERY</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 56.</para></summary>
OLECMDID_PAGEACTIONUIQUERY = 56,
/// <summary><para><c>OLECMDID_FOCUSVIEWCONTROLS</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 57.</para></summary>
OLECMDID_FOCUSVIEWCONTROLS = 57,
/// <summary><para><c>OLECMDID_FOCUSVIEWCONTROLSQUERY</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 58.</para></summary>
OLECMDID_FOCUSVIEWCONTROLSQUERY = 58,
/// <summary><para><c>OLECMDID_SHOWPAGEACTIONMENU</c> constant of <c>OLECMDID</c> enumeration. </para><para>Constant value is 59.</para></summary>
OLECMDID_SHOWPAGEACTIONMENU = 59
}
public sealed class OLECMDERR
{
public const int OLECMDERR_E_NOTSUPPORTED = unchecked((int)0x80040100);
public const int OLECMDERR_E_DISABLED = unchecked((int)0x80040101);
public const int OLECMDERR_E_NOHELP = unchecked((int)0x80040102);
public const int OLECMDERR_E_CANCELED = unchecked((int)0x80040103);
public const int OLECMDERR_E_UNKNOWNGROUP = unchecked((int)0x80040104);
}
[
StructLayout(LayoutKind.Sequential)
]
public struct tagMSG
{
public IntPtr hwnd;
public int message;
public IntPtr wParam;
public IntPtr lParam;
public int time;
public int pt_x;
public int pt_y;
}
[StructLayout(LayoutKind.Sequential)]
public struct WINDOWPOS
{
public IntPtr hwnd;
public IntPtr hwndInsertAfter;
public int x;
public int y;
public int cx;
public int cy;
public int flags;
}
public sealed class Kernel32
{
[DllImport("kernel32.dll", EntryPoint="GetThreadLocale", CharSet=CharSet.Auto)]
public static extern int GetThreadLCID();
}
public sealed class Urlmon
{
public const int URLMON_OPTION_USERAGENT = 0x10000001;
public const int URLMON_OPTION_USERAGENT_REFRESH = 0x10000002;
public const int URLMON_OPTION_URL_ENCODING = 0x10000004;
public const int URLMON_OPTION_USE_BINDSTRINGCREDS = 0x10000008;
[DllImport("urlmon.dll", CharSet=CharSet.Ansi)]
public static extern int UrlMkGetSessionOption(
int dwOption,
System.Text.StringBuilder pBuffer,
int dwBufferLength,
ref int pdwBufferLength,
int dwReserved);
[DllImport("urlmon.dll", CharSet=CharSet.Ansi)]
public static extern int UrlMkSetSessionOption(
int dwOption,
string pBuffer,
int dwBufferLength,
int dwReserved);
private Urlmon() {}
}
private Interop() {}
}
}