2012-03-23 5 views
0

私の仕事は、ユーザーがウィンドウをクリックすると(子ウィンドウのさまざまなレベルがあります)、メインウィンドウのすべての子ウィンドウを再帰的にキャプチャし、すべての子ウィンドウは、適切なレベルの階層構造で配置する必要があります。 親ノードはメインウィンドウであり、直系の子ウィンドウはレベルの子ウィンドウでなければならず、次にレベル2の子ウィンドウ、すなわちグランドの子ノードは親に正しく割り当てられるべきです。 EnumChildWindows APIを使用してすべての子ウィンドウを一覧表示していますが、すべての子と孫が非常に荒々しく表示されていますが、どの児童がどの子に属しているのかを把握する方法がわかりません。 EnumChildWindowsを使用してより構造化された出力を生成する方法はありますか? 私にいくつかのポインタを教えてください。事前に感謝します。enumchildwindows APIのサニタイズ/構造化出力

答えて

1

EnumChildWindows()は、すべての子どもや孫などを区別する方法を返さないように文書化されています。 GetParent()に電話して、各ウィンドウの親が何であるかを確認するか、GetWindow()をループで使用して自分自身を再帰することができます。

GetParent()は、EnumChildWindows()の原子性と安全性を利用しているので安全です。