2011-12-27 18 views
3

是否有可能從IHTMLElement獲取窗口句柄? 如果是這樣,有人可以告訴我如何在C++中做到這一點?IHTMLElement到HWnd

TIA

+0

爲什麼你認爲IHTMLElement有一個獨特的HWND? – bmargulies 2011-12-27 23:55:14

+0

我不說手柄是獨一無二的。我只需要知道一種方法來檢索IHTMLElement的句柄。 – 2011-12-28 00:20:59

+0

但是爲了什麼目的?爲什麼你需要一個元素的'HWND'?元素屬性和行爲的所有方面都可以通過瀏覽器的DOM訪問。此外,假設任何兒童窗戶甚至可以使用,瀏覽器可以自由地隱藏他們的外界的元素窗口。嘗試使用Spy ++或類似工具來查看IE的主窗口 - 你不會看到元素使用的任何可訪問的子窗口! – 2011-12-28 02:51:18

回答

1

這或許是可能的,如果三樣東西是真實的:

1)你有你射擊了用C++/C#特定的瀏覽器實例, 2)很明顯,你必須在一個Windows環境,以及3)IHTMLElement恰好是一種呈現爲單獨控件的類型(例如IFrame,潛在的或者SELECT項目等)

然而,你不可能找到一個元素的hWnd,如<div>,<span>等 - 因爲這些項目不是作爲單獨的窗口控件呈現的。它們被瀏覽器的渲染引擎繪製到瀏覽器的畫布上。