可能重复:
嵌入到HWND使用的setparent外部处理
我试图嵌入从我的过程中一个窗口,使用外部进程窗口SetParent
功能和可能遇到了我希望有人能帮助我的几个问题。 首先,这里是什么,我目前在做我的窗口嵌入到应用程序中的轮廓:
WND myWindow; //Handle to my application window
HWND externalWindow; //Handle to external application window
SetParent(myWindow,externalWindow);
//Remove WS_POPUP style and add WS_CHILD style
DWORD style = GetWindowLong(myWindow,GWL_STYLE);
style = style & ~(WS_POPUP);
style = style | WS_CHILD;
SetWindowLong(myWindow,GWL_STYLE,style);
此代码的工作和我的窗口出现在其他应用程序,但引入了以下问题:
- 当我的窗口获得输入焦点,外部进程的主要应用程序窗口失去焦点(即标题栏改变颜色)。
- 主要应用的键盘快捷键的命令,而我的窗口具有焦点不起作用。
有谁知道这些问题的解决方法? 我想对待我的窗口,就在主应用程序的另一个子窗口。
谢谢。