如何从 Windows 窗体创建仅显示消息的窗口?

2023-12-05

我正在尝试创建一个仅消息窗口,以在 winforms 应用程序中从 MFC 库类接收窗口消息。

我尝试过子类化NativeWindow,并在构造函数中请求窗口句柄,如下所示:

CreateParams cp = new CreateParams();
cp.Parent = (IntPtr)HWND_MESSAGE;
this.CreateHandle(cp);

但我收到一个 Win32Exception 抛出消息,并显示消息“创建窗口句柄时出错”。如何从 Windows 窗体创建仅显示消息的窗口?正在使用NativeWindow正确的方法是什么?


尝试一下:

[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

static IntPtr HWND_MESSAGE = new IntPtr(-3);

protected override void OnHandleCreated(EventArgs e)
{
    base.OnHandleCreated(e);
    SetParent(this.Handle, HWND_MESSAGE);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Windows 窗体创建仅显示消息的窗口? 的相关文章

随机推荐