C/Visual C - Incluir una aplicación en una ventana !!!!!

 
Vista:

Incluir una aplicación en una ventana !!!!!

Publicado por JAIME (10 intervenciones) el 28/02/2005 15:57:51
Tengo una interfaz y me gustaria "incrustar" un .exe en una zona del dialogo (ID_LO_QUE_SEA). ¿Como se puede hacer? Supongo que no es muy dificil. ¿Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Incluir una aplicación en una ventana !!!!! (1)

Publicado por fernando.gomez (1603 intervenciones) el 28/02/2005 16:41:32
Pues de hecho me parece que sí es muy difícil el asunto... Hasta donde yo sé, la única forma de lograr algo parecido es implementando una tecnología, mística y exhuberante, llamada OLE: Object Linking Embedded, así como su descendiente directo: ActiveX.

OLE está lleno de historia. Fué creado por Microsoft con la finalidad de poder "incrustar" ejecutables de un programa en otro. En particular, fué creado teniendo en cuenta a MS. Office. Por ejemplo, en un documento de Word puedes incrustar una hoja de cálculo de Excel.

Sin embargo, con el desarrollo de las teorías de componentes, OLE fué cambiando, y su propósito ahora era proveer un mecanismo para crear componentes en general. Conforme el asunto se fué especializando, se decidió separar la creación de componentes de OLE, y de ahí surgió COM. OLE quedó relegada a la creación de componentes visuales.

Sin embargo, la evolución no quedó allí. Estos componentes visuales fueron perfeccionados en los llamados controles ActiveX. Esta tecnología se basa en el hecho de agrupar (en componentes COM) controles y primitivas de ventanas, pero sin determinar la ventana padre a la que pertenece (así nació el concepto de contenedor) y por ende, sin heredar sus propiedades, sino hasta que se ejecute el programa (es decir, en tiempo de ejecución).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Incluir una aplicación en una ventana !!!!! (1)

Publicado por Antonio (1 intervención) el 04/03/2005 08:59:36
ver codigo fuente MFC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Incluir una aplicación en una ventana !!!!! (2)

Publicado por fernando.gomez (1603 intervenciones) el 28/02/2005 16:42:38
Así, OLE ya no tiene razón de ser, y volvió a cambiar a su significado original, aunque fué relegado al olvido. En el 2000, Microsoft creó una tecnología (tentativamente una mezcla de ODBC y ADO) llamada OLE DB, para el acceso a datos. SQL Server 2000 implementa esta tecnología, y viene incluida en el .NET Framework, aunque no tiene relación alguna con el OLE original.

En fin, tanto choro es para darte una idea de lo que vas a tener que aprender. OLE y ActiveX tentativamente son encapsulados por MFC, y el editor de diálogo de Visual C++ te dá ciertas facilidades, aunque yo nunca he empleado dicho editor, todo lo he hecho manualmente. Así las cosas, te convendría aprender lo siguiente:
+ COM - Component Object Model. Actualmente, esta tecnología ha sido depreciada, y tentativamente sería reemplazada por el .NET Framework. http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/componentobjectmodelanchor.asp
+ DCOM/COM+ - La evolución natural de COM.
+ Automatización y MIDL. Es la forma en la que puedes hacer que componentes de distintos lenguajes se comuniquen entre sí. Es muy útil, p.e. para aplicaciones de rápido desarrollo, crear componentes y ActiveX en C++ y emplearlos en VB. http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/automat/htm/autoportal_7l45.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:Incluir una aplicación en una ventana !!!!! (2)

Publicado por zzz (318 intervenciones) el 28/02/2005 20:18:37
Hi! creo que entendi mal tu pregunta, pero si lo que quieres es que tu programa mandar llamar otro programa en otra ventana, puedes usar las funciones exec, execve, o spawn
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Incluir una aplicación en una ventana !!!!!

Publicado por Max (50 intervenciones) el 02/03/2005 00:14:35
si entendi bien es algo parecido a esto lo que queres hacer ..
esta api realiza un llamado al programa que tu quieras dandole la direccion de donde se encuentra.

WinExec("c:\\archivo.exe",SW_SHOW);

Acordate de incluir doble barra!!!

espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Incluir una aplicación en una ventana !!!!!

Publicado por fernando.gomez (1603 intervenciones) el 02/03/2005 01:07:56
De hecho, si lo que pretendes es lo arriba comentado, en lugar de emplear WinExec (función depreciada desde Windows 4.0), usa CreateProcess.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar