2008-11-06 6 views
8

J'écris une application et j'aimerais pouvoir afficher une autre application à l'intérieur. (Pensez comme un formulaire Windows avec une petite boîte, ou un onglet qui affiche une application totalement séparée.)Ouverture d'une application dans un formulaire - C# ou VB.NET

Est-ce que c'est quelque chose qui peut être fait? Si oui, quelqu'un peut-il donner une direction sur la façon de s'y prendre?

Je cherche quelque chose dans le monde C# ou VB.NET.

MERCI!

Répondre

10

Vous avez besoin d'un hWnd (poignée) de fenêtre provenant d'une autre application. Ensuite, vous avez besoin d'un hWnd de contrôle de conteneur dans votre application (propriété System.Windows.Forms.Control.Handle).

Ensuite, vous devez utiliser une fonction Win32API SetParent, et tout ce dont vous avez besoin. Sur la page SetParent est petit échantillon, qui devrait faire ce que vous avez besoin.

+0

Bien sûr, cela nécessite que la fenêtre que vous voulez intégrer existe déjà, sinon vous ne pourriez pas l'obtenir. Mais c'est quand même assez glissant: upvote. –

+0

Vous avez toujours besoin de la fenêtre existe, si vous voulez l'intégrer dans votre conteneur. Avez-vous ajouté quelque chose "A" à quelque chose "B" quand "A" n'existait pas :)? La question est "comment puis-je trouver la fenêtre, que je veux". Vous pouvez utiliser la propriété "Process.MainWindowHandle" ou la fonction Win32API "EnumWindows". – TcKs

Questions connexes