Search code examples
windowsinternet-explorersdkcustom-event

Which windows SDK includes the headers for IE IDOMCustomEvent


I have installed Windows SDK 7.1 on Windows 7 to get the IDOMCustomEvent interface which is supposed to be present in mshtml.h on "Windows Vista with SP1, Windows 7". I have grepped the entire SDK include directory and it isn't there(but mshtml.h is). How do I get this interface?
My requirement is to fire CustomEvents into IE11 from C++. Any way to achieve this would be acceptable.


Solution

  • Starting with IE9, the declaration of IDOMCustomEvent appears in MSHTML.IDL.

    interface IDOMCustomEvent : IDispatch
    {
      [propget, id(DISPID_IDOMCUSTOMEVENT_DETAIL)] HRESULT detail([retval, out] VARIANT * p);
      [id(DISPID_IDOMCUSTOMEVENT_INITCUSTOMEVENT)] HRESULT initCustomEvent([in] BSTR eventType,[in] VARIANT_BOOL canBubble,[in] VARIANT_BOOL cancelable,[in] VARIANT* detail);
    };
    

    If memory serves, this interface is responsible for supporting DOM custom events, as defined by the DOM L3 Events specification (first supported in IE9 Standards mode). The spec shows how a custom event might be made using JavaScript.

    I'm not sure how useful this is for your needs. There is an older article on MSDN that discusses a C++ implementation, but it's based on an older version of the browser and may not be relevant, especially given the changes to the security model over the years. (I also found a slightly more recent article on CodeProject, but I haven't tried it out.)

    Not sure if this helps, but perhaps the background info will help.