В моем приложении WPF есть несколько окон, я хочу прикрепить некоторые из этих окон к окну другого процесса. Моя проблема в том, что как только я приложу свое окно, оно станет невидимым.Прикрепить окно к окну другого процесса
Я пытаюсь это с помощью следующего кода:
public static bool setParentWindow(IntPtr hWndChild, IntPtr hWndNewParent)
{
IntPtr previousParent = SetParent(hWndChild, hWndNewParent);
return (previousParent == null ? false : true);
}
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
setParentWindow(myWindowHwnd, newParentHwnd);
Таким образом, приведенный выше код успешно прикрепляет окно, но, к сожалению, делает его невидимым.
Моей причиной для этого является то, что я пытаюсь расширить приложение, создав для него «Виджеты», мои виджеты подключатся и отображают дополнительную информацию пользователя.
Оба окна имеют следующие стили: WS_OVERLAPPEDWINDOW, WS_OVERLAPPED, WS_VISIBLE, WS_CLIPSIBLINGS, WS_CLIPCHILDREN.
Что вы подразумеваете под прикреплением окна? Каковы стили окон для окон, которые задействованы? – Neil
@Neil: Я добавил стили в конец моего вопроса, добавив, что я хочу, чтобы мое окно WPF было дочерним по отношению к новому окну. – Drahcir
Воспроизведение окон в другие процессы чрезвычайно сложно. Я бы порекомендовал другое решение. –