Les formulaires Windows avaient une propriété win1.Handle qui, si je me souviens bien, renvoie le handle du handle de la fenêtre principale?
Existe-t-il un moyen équivalent d'obtenir le handle d'une fenêtre WPF?
J'ai trouvé le code suivant en ligne,
IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
mais je ne pense pas que cela va m'aider car mon application a plusieurs fenêtres.
Merci!!
Au lieu de passer Application.Current.MainWindow
, Il vous suffit de passer une référence à la fenêtre de votre choix: new WindowInteropHelper(this).Handle
et ainsi de suite.
Utilisez simplement votre fenêtre avec la classe WindowsInteropHelper:
// ... Window myWindow = get your Window instance...
IntPtr windowHandle = new WindowInteropHelper(myWindow).Handle;
À l'heure actuelle, vous demandez la fenêtre principale de l'application, dont il y en aura toujours une. Vous pouvez utiliser cette même technique sur n'importe quelle fenêtre, à condition qu'il s'agisse d'une classe Window dérivée System.Windows.Window.
vous pouvez utiliser :
Process.GetCurrentProcess().MainWindowHandle
Si vous voulez des poignées de fenêtre pour TOUTES les Window
s de votre application pour une raison quelconque, vous pouvez utiliser le Application.Windows
propriété pour accéder à tous les Windows et ensuite utiliser WindowInteropHandler
pour obtenir leurs poignées comme vous l’avez déjà démontré.