Tôi đang cố gắng nhúng cửa sổ từ quá trình của tôi vào cửa sổ của quy trình bên ngoài bằng cách sử dụng chức năng SetParent và gặp phải một số sự cố mà tôi hy vọng ai đó có thể giúp tôi với. Trước hết, đây là một phác thảo về những gì tôi hiện đang làm để nhúng cửa sổ của tôi vào ứng dụng:Nhúng HWND vào quá trình bên ngoài bằng cách sử dụng SetParent
HWND 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);
Mã này hoạt động và cửa sổ của tôi xuất hiện trong ứng dụng khác, nhưng giới thiệu các vấn đề sau:
- Khi tăng đầu vào cửa sổ tập trung của tôi, cửa sổ ứng dụng chính của quá trình bên ngoài mất tập trung (tức là thanh tiêu đề thay đổi màu sắc)
- lệnh phím tắt của ứng dụng chính không làm việc trong khi cửa sổ của tôi có tập trung
Có ai biết cách giải quyết vấn đề này không? Tôi muốn cửa sổ của tôi được xem như một cửa sổ con khác của ứng dụng chính.