我遇到了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_beginner