2016-09-26 38 views
0

我已經在Windows 7上安裝了Windows SDK 7.1以獲取應該存在於「Windows Vista with SP1,Windows 7」上的mshtml.h中的IDOMCustomEvent接口。 我已經grepped整個SDK包含目錄,它不在那裏(但mshtml.h是)。我如何獲得此界面?
我的要求是從C++中將CustomEvents引入IE11。任何方式來達到這一點都是可以接受的。哪個Windows SDK包含用於IE的標頭IDOMCustomEvent

+0

我已經在Windows SDK 8.1中找到了這個接口,但根據微軟的說法,它應該存在於Windows 7中。 –

回答

0

從IE9開始,IDOMCustomEvent的聲明出現在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); 
}; 

如果記錯,這個接口是負責支持DOM自定義事件,由DOM L3 Events規範(在IE9標準模式第一支持)所定義的。該規範展示瞭如何使用JavaScript創建自定義事件。

我不確定這對您的需求有多大用處。有一個older article on MSDN討論C++實現,但它基於舊版本的瀏覽器,可能不相關,尤其是考慮到多年來對安全模型的更改。 (我也在CodeProject上找到了一個slightly more recent article,但我還沒有試過。)

不知道這是否有幫助,但也許背景信息會有所幫助。

+0

我最終放棄了這一攻擊行爲,因爲我正在使用的非常舊的代碼庫確實沒有實現。像SDK8.1似乎很奇怪,接口是在IDL文件中,而不是在標題中。最後我使用了onmessage事件,因爲這是未使用的並且攜帶任意字符串有效載荷。我會將你的答案標記爲解決方案,因爲它確實揭示了問題。 –

相關問題