C# 如何知道单击哪个win句柄将获得焦点?

C# 如何知道单击哪个win句柄将获得焦点?,c#,winapi,window,handle,C#,Winapi,Window,Handle,所以这确实是一个奇怪的问题。当窗口位于背景上时,它没有焦点。但当你点击它时,它就会得到它,“键盘光标”被放置在一个特定的位置。例如,如果您正在使用Skype,则键盘光标将位于活动对话的文本框内。在Skype中,文本框有其特定的句柄 所以问题是:当您单击主(父)窗口标题时,如何知道哪个窗口句柄将被聚焦 问候 编辑1: 我找到了一个解决方案:我想在一个变量中注册,每个主窗口最后一个窗口的每个句柄代码。例如,我有3个打开的窗口,带箭头的窗口是聚焦的: 1.) ->窗口1 ->子窗口1 -子窗口2 -窗

所以这确实是一个奇怪的问题。当窗口位于背景上时,它没有焦点。但当你点击它时,它就会得到它,“键盘光标”被放置在一个特定的位置。例如,如果您正在使用Skype,则键盘光标将位于活动对话的文本框内。在Skype中,文本框有其特定的句柄

所以问题是:当您单击主(父)窗口标题时,如何知道哪个窗口句柄将被聚焦

问候

编辑1:

我找到了一个解决方案:我想在一个变量中注册,每个主窗口最后一个窗口的每个句柄代码。例如,我有3个打开的窗口,带箭头的窗口是聚焦的:

1.)

->窗口1 ->子窗口1 -子窗口2 -窗口2 -窗口3

2.)我选择了另一个窗口,因此失去焦点的子窗口的句柄号保存在一个变量中

-窗口1 -子窗口1 -子窗口2 ->窗口2 -窗口3

=>子窗口1的句柄保存在变量中

使用它,我可以知道每个应用程序最后使用的窗口句柄!是否有任何方法可以在用户每次更改聚焦窗口句柄时生成事件?或者我需要设置一个计时器,这对我来说并不聪明


关于

这是一项计划内部决策。当你点击窗口时,程序决定哪个窗口获得焦点。要想在不点击窗口的情况下得到答案,你必须用程序设计一个专用的通信通道。这很复杂吗?这就像你想做的一样复杂。你可以定义一条双方都同意的私人信息。有没有指向教程或解释的链接?我在谷歌上找不到这些关键词。让我们后退一步。你为什么要这么做?你想解决的问题是什么?