Je veux faire un formulaire .NET en tant que TopMost Form pour une autre application externe (pas .NET liée, pure Win32) de sorte qu'il reste au-dessus de Win32App, mais pas le reste de la applications en cours d'exécution.Comment faire pour modifier un propriétaire de fenêtre en utilisant son handle
J'ai le handle de Win32App (fourni par le Win32App lui-même), et j'ai essayé Win32 SetParent() function, via P/Invoke in C#, mais alors mon .NET Form est confiné dans le Win32App et ce n'est pas ce que je veux.
Le problème est que j'ai googlé avec le mot "changer le propriétaire de Windows" au lieu de chercher "changer le parent de Windows". :) –
Je suis passé par cette réponse plusieurs fois en pensant qu'il répondait à la mauvaise question, jusqu'à ce que je lis ce qui suit dans les doc msdn: "" Vous ne devez pas appeler SetWindowLong avec l'index GWL_HWNDPARENT pour changer le parent d'une fenêtre enfant. Au lieu de cela, utilisez la fonction SetParent. »Cette déclaration est trompeuse: GWL_HWNDPARENT modifie le PROPRIÉTAIRE, pas le parent, d'une fenêtre.Il est sûr à utiliser à cette fin." – bj0