假设现在有一个对话框程序,对话框可以打开模态的对话框,也可以打开非模态对话框,对话框又可以打开对话框。我如何可以通过这个程序进程的ID获取它的所有窗口呢?如何获取在最上层的窗口呢?

解决方案 »

  1.   

    EnumWindows枚举所有窗口,逐一用GetWindowThreadProcessId获取窗口的进程ID来对比,最先查到的就是最上层的。
      

  2.   

    楼上是不是没听明白楼主的意思
    你找到对应进程后 怎么进一步枚举进程中所有的窗口呢 EnumWindows只能枚举到进程最外层的一个窗口 里面的子窗口怎么枚举啊???
      

  3.   

    楼主方法我 已找到EnumChildWindows 详细方法见csdn