[英]How to get handle (hWnd) in WPF (not WinForm)
我正在寻找 WPF 控件(在 Win32 中称为 hWnd)的 window 句柄。
在 WinForm 中。 我们可以通过“core.Init(panel1.Handle.ToInt32());”得到
但在 WPF 中不可能做到这一点。
//C#中的WinForm panel1.Handle.ToInt32();
//C# in WPF???????????
只有 WPF 中的 window 映射到 HWND。
所有其他元素类型(例如面板)在内部都不是 HWND,因此您无法为它们获取 HWND。
一种可能的解决方案是为您需要 HWND 的应用程序部分使用 WindowsFormsHost。
您可以使用WindowsInteropHelper
class 访问Window
处理程序,如下所示:
IntPtr windowHandle = new WindowInteropHelper(sampleWindow).EnsureHandle();
EnsureHandle()
方法说明:
如果尚未创建 HWND,则创建 window 的 HWND。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.