How to get the hWnd of Window instance?

c#, wpf

Solution

`WindowInteropHelper` is your friend. It has a constructor that accepts a `Window` parameter, and a `Handle` property that returns its window handle.

Window window = Window.GetWindow(this);
var wih = new WindowInteropHelper(window);
IntPtr hWnd = wih.Handle;

Problem

My WPF application has more than one window, I need to be able to get the hWnd of each Window instance so that I can use them in Win32 API calls. Example of what I would like to do: ``` Window myCurrentWindow = Window.GetWindow(this); IntPtr myhWnd = myCurrentWindow.hWnd; // Except this property doesn't exist. ``` What's the best way to do this?

Original source