2008-11-06 18 views
8

Estoy escribiendo una aplicación y me gustaría poder mostrar otra aplicación dentro de ella. (Piensa como un formulario de Windows con una pequeña caja, o una pestaña que muestra una aplicación totalmente separada).Abrir una aplicación dentro de un formulario - C# o VB.NET

¿Es eso algo que se puede hacer? Si es así, ¿alguien puede dar una dirección sobre cómo hacerlo?

Estoy buscando algo en el mundo C# o VB.NET.

GRACIAS!

Respuesta

10

Necesita un hWnd (identificador) de ventana desde otra aplicación. Luego necesita un hWnd de control de contenedor en su aplicación (propiedad System.Windows.Forms.Control.Handle).

Luego necesita usar una función Win32API SetParent, y eso es todo lo que necesita. En la página de SetParent hay una pequeña muestra, que debería hacer lo que necesita.

+0

Por supuesto, esto requiere que la ventana que desea insertar ya exista; de lo contrario, no podría obtener su manejador. Pero sigue siendo bastante hábil: voto popular. –

+0

Siempre necesita que la ventana exista, si desea incrustarla en su contenedor. ¿Alguna vez agregaste algo "A" en algo "B" cuando "A" no existía :)? La pregunta es "¿cómo puedo encontrar la ventana, que quiero". Puede usar la propiedad "Process.MainWindowHandle" o la función Win32API "EnumWindows". – TcKs

Cuestiones relacionadas