Finding the handle to a WPF window
Windows forms had a property win1.Handle which, if I recall, returns the handle of the main window handle?
Is there an equivalent way to get the handle of a WPF Window?
I found the following code online,
IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
but I don't think that will help me because my application has multiple windows.
Thanks!!
Well, instead of passing Application.Current.MainWindow
, just pass a reference to whichever window it is you want: new WindowInteropHelper(this).Handle
and so on.
Just use your window with the WindowsInteropHelper class:
// ... Window myWindow = get your Window instance...
IntPtr windowHandle = new WindowInteropHelper(myWindow).Handle;
Right now, you're asking for the Application's main window, of which there will always be one. You can use this same technique on any Window, however, provided it is a System.Windows.Window derived Window class.
you can use :
Process.GetCurrentProcess().MainWindowHandle
If you want window handles for ALL of your application's Window
s for some reason, you can use the Application.Windows
property to get at all the Windows and then use WindowInteropHandler
to get at their handles as you have already demonstrated.