デスクトップ上の特定のポイントの下にあるすべてのトップレベルウィンドウ(デスクトップの子)を検索したい。私はこのためのAPIを見つけることができません。ポイントの下にあるすべてのウィンドウを見つける
私のシナリオでは、ウィンドウをドラッグして別の(既知の)ウィンドウにドロップしたいというシナリオです。ターゲットウィンドウの境界をテストしてもOKですが、別の(未知の)ウィンドウによって隠されているかどうかはわかりません。 WindowFromPoint
を使用すると、友だちは機能しません。ドラッグされているウィンドウがマウスの真下にあるからです。だから私はマウスの位置ですべてのウィンドウを取得することができますか、私が追跡しているウィンドウの1つが私がドラッグしているウィンドウの直下にあるかどうかを確認するためにそれらを見直すのだろうかと思います。
すべてのマウスドラッグでEnumDesktopWindows
/GetWindowRect
に頼らずにこれを行う方法はありますか?あるいは、私にはもう一つの解決策がありません。
あなたがドラッグしている間は、新しいウィンドウが作成されませんという仮定を加えた場合は、一度トップレベルウィンドウを列挙することができますドラッグ操作の開始点を指定し、その結果を使用して、ドラッグ中にマウスが移動するたびにテストします。 –
それは調査する価値のある最適化です、ありがとうございます。 –
'GetNextWindow'を使って、Zオーダーのあなたのターゲットの上にあるウィンドウを見るだけで逃げることができます。 – theB