C++ SetParent:获取焦点时窗口反应缓慢

C++ SetParent:获取焦点时窗口反应缓慢,c++,C++,我对Windows API的SetParent函数有问题。我使用它将我的一个窗口注入到外部应用程序(如记事本)的窗口中。我的窗口包含一个EditWindow作为子窗口和几个按钮,仅此而已。我用这样的方式: long style = GetWindowLong(hwnd, GWL_STYLE); style |= WS_CHILD; style &= ~WS_POPUP; SetWindowLong(hwnd, GWL_STYLE, style); SetParent(hwnd, newP

我对Windows API的SetParent函数有问题。我使用它将我的一个窗口注入到外部应用程序(如记事本)的窗口中。我的窗口包含一个EditWindow作为子窗口和几个按钮,仅此而已。我用这样的方式:

long style = GetWindowLong(hwnd, GWL_STYLE);
style |= WS_CHILD;
style &= ~WS_POPUP;
SetWindowLong(hwnd, GWL_STYLE, style);
SetParent(hwnd, newParent);
这是可行的,但是如果我从外部应用程序点击文本框,它需要几秒钟才能获得焦点。在此期间,什么也没有发生,即使使用Spy++我也无法在这个延迟内捕获任何消息

奇怪的是,这似乎只发生在我的特定应用程序中(它是一些非常古老和特殊的测量软件),比如记事本,延迟不会发生

所以,我的问题是:什么可能导致这个问题?是否存在SetParent可能导致此类行为的情况

问候,
cpp_初学者

让我在这里引用一下
旧的新事物
:它有以下内容:
在不同进程的窗口之间建立父/子或所有者/所有者关系在技术上合法吗?是的,这在技术上是合法的。从技术上讲,玩电锯也是合法的。
您看到的延迟很可能与所提到的输入队列附件有关。您好,谢谢您的回答,但我已经知道这篇文章(我是在通过谷歌搜索此问题的答案时发现的)。我知道这与windows无法正确通信有关,但我如何才能找出问题的真正原因呢?我已经知道这个应用程序可以这样做,因为有人已经为这个应用程序这样做了……它肯定与外部应用程序的内部(而不是记事本)有关。例如,当您注入新的子窗口时,它可以重新计算子窗口的位置,或者执行其他操作。在任何情况下,我都不会责怪
SetParent
函数在这种减速中。好的,有没有可能告诉这个外部应用程序的窗口“忽略”这个子窗口,这样它就不会向它发送任何消息?我只想将我的编辑窗口嵌入到另一个应用程序中,移动和调整大小可以由我手动完成,因为我已经使用dll连接到应用程序的过程中了。。。