2017-07-16 33 views
1

我正在使用MSAA進行一些自動化。獲取上下文菜單的窗口句柄?

與其他所有MSAA元素不同,我無法遍歷桌面窗口的子項(儘管我可以通過accChildCount獲得窗口的數量)。

所以我正在尋找另一種方式來獲取上下文菜單MSAA對象。我最近的想法是,如果我可以獲取上下文菜單的HWND,那麼我可以使用AccessibleObjectFromWindow來獲取MSAA對象。難點在於,你如何得到上下文菜單的HWND?

目前我唯一的解決方法是使用UIAutomation檢索HWND,但我覺得這可能是相當浪費......是否有任何其他Windows32函數可以返回上下文菜單的句柄?

+0

您甚至知道上下文菜單已打開? – conio

+0

@conio因爲我調用了它。如果有一種方法可以獲取上下文菜單的HWND,那麼當然也可以使用它來查明它是否打開。 – Sancarn

回答

2

MSDN說你可以用FindWindowEx(NULL, NULL, MAKEINTATOM(0x8000), NULL);找到菜單窗口。

+0

有趣!我會試試這個!謝謝! – Sancarn