関数を使用して自分のプロセスから外部プロセスのウィンドウにウィンドウを埋め込もうとしていますが、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);
このコードは機能し、別のアプリケーションにウィンドウが表示されますが、次の問題が発生します。
- ウィンドウが入力フォーカスを取得すると、外部プロセスのメイン アプリケーション ウィンドウがフォーカスを失います (つまり、タイトル バーの色が変わります)。
- ウィンドウにフォーカスがある間、メイン アプリケーションのキーボード ショートカット コマンドが機能しません。
これらの問題の回避策を知っている人はいますか? ウィンドウをメイン アプリケーションの別の子ウィンドウとして扱いたいと思います。
ありがとう。