获取活动子窗口

时间:2015-12-03 12:35:25

标签: c# winapi .net-3.5

如果打开已定义的子窗口并且在前台,我想检入外部应用程序。

如果我使用winapi GetForegroundWindow检查它,我会得到主窗口的句柄,而不是实际的活动子窗口。

我可以通过与标题匹配的所有窗口使用winapi EnumWindows进行枚举,但这只会提供子窗口打开的信息,但如果它在前景中则不会。

如何合并这两件事?

1 个答案:

答案 0 :(得分:0)

  1. 使用GetForegroundWindow找到前景窗口。
  2. 使用GetWindowThreadProcessId找到拥有该窗口的主题。
  3. 使用GetGUIThreadInfo找到该线程的GUI信息(活动窗口,焦点窗口,捕获窗口等)。