我知道如果該控件位於可見窗口中,WindowFromPoint可用於獲取控件的句柄。我的要求是獲取控件的詳細信息,即使應用程序的窗口不在前臺(它不會被最小化,只是它可能位於另一個窗口的後面)。是否有WINAPI功能可以爲我做這個?給定x,y點,如何獲得窗口句柄的控件不存在於前景窗口?
如果沒有,可以有人提出一個辦法,我怎麼能去這樣做,未能達到: 1枚舉所有控件在一個特定的背景窗口, 2.然後讓他們的界限, 3。然後比較這些邊界是否包含x,y座標?
我知道如果該控件位於可見窗口中,WindowFromPoint可用於獲取控件的句柄。我的要求是獲取控件的詳細信息,即使應用程序的窗口不在前臺(它不會被最小化,只是它可能位於另一個窗口的後面)。是否有WINAPI功能可以爲我做這個?給定x,y點,如何獲得窗口句柄的控件不存在於前景窗口?
如果沒有,可以有人提出一個辦法,我怎麼能去這樣做,未能達到: 1枚舉所有控件在一個特定的背景窗口, 2.然後讓他們的界限, 3。然後比較這些邊界是否包含x,y座標?
也許WM_NCHITTEST
可以提供幫助嗎?參見舊的新事物上的例如WM_NCHITTEST is for hit-testing, and hit-testing can happen for reasons other than the mouse being over your window。
WM_NCHITTEST
消息並不意味着鼠標在您的窗口;它只是意味着有人問:「如果你的窗口中的鼠標是,它會做什麼?」
您在尋找GetWindow的API函數,可用於枚舉所有窗口,然後再枚舉GetWindowRect函數。
感謝您的回覆! DefWindowProc函數返回枚舉中的一個值(對應於控件類型)以響應WM_NCHITTEST消息。我實際上需要控制手柄本身。 – Satyajit 2011-02-24 11:10:29