簡體   English   中英

如何在 WPF(不是 WinForm)中獲取句柄(hWnd)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM