相关疑难解决方法(0)

将窗口附加到另一个进程的窗口

我的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);
Run Code Online (Sandbox Code Playgroud)

因此,上面的代码成功地附加了窗口,但不幸的是它使它不可见.

我这样做的原因是我试图通过为它构建"Widgets"来扩展应用程序,我的小部件将挂钩并向用户显示额外信息.

两个窗口都具有以下样式:WS_OVERLAPPEDWINDOW,WS_OVERLAPPED,WS_VISIBLE,WS_CLIPSIBLINGS,WS_CLIPCHILDREN.

c# wpf

4
推荐指数
1
解决办法
8048
查看次数

标签 统计

c# ×1

wpf ×1