查找WPF窗口的句柄

Eva*_*van 103 wpf window handle

Windows窗体有一个属性win1.Handle,如果我记得,它返回主窗口句柄的句柄?

是否有相同的方法来获取WPF窗口的句柄?

我在网上找到了以下代码,

IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
Run Code Online (Sandbox Code Playgroud)

但我认为这不会对我有所帮助,因为我的应用程序有多个窗口.

谢谢!!

Gre*_*ley 135

好吧,不要传递Application.Current.MainWindow,只需将引用传递给您想要的任何窗口:new WindowInteropHelper(this).Handle依此类推.


Ree*_*sey 38

只需使用WindowsInteropHelper类的窗口:

// ... Window myWindow = get your Window instance...
IntPtr windowHandle = new WindowInteropHelper(myWindow).Handle;
Run Code Online (Sandbox Code Playgroud)

现在,你要求应用程序的主窗口,其中总是有一个.但是,您可以在任何Window上使用相同的技术,前提是它是System.Windows.Window派生的Window类.


Ame*_*wan 10

您可以使用 :

Process.GetCurrentProcess().MainWindowHandle
Run Code Online (Sandbox Code Playgroud)