![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con SetParent
Hola a todos,
Estoy tratando de "introducir" una aplicación externa dentro de un panel de mi aplicación. Esto supuestamente ya lo había superado en otro ocasión con otra aplicación, concretamente el Google Earth. Pues bien ahora estoy tratando de hacer lo mismo con la aplicación CompeGPSLand: http://www.compegps.com/?detail=detail&opcion=1〈=1es&grupo=tierra∏=460 Uso el siguiente conjunto de instrucciones:
La función ejecutar es un truco que encontré en el club para ejecutar una aplicación. ¿Alguien tiene idea de por qué puede ocurrir esto? He comprobado que FindWindow devolviese el handle ya que devuelve un valor distinto de 0. Saludos! PD: He usado el código expuesto anteriormente porque usando el truco directamente tampoco me funcionaba. Según el ejemplo que vi se usaba para abrir el notepad lo siguiente: H:= Ejecutar('Notepad.exe',nil,5000); Windows.SetParent(H,Handle);
__________________
"Patientia et constantia taelecum" Última edición por vejerf fecha: 13-05-2010 a las 17:19:57. Razón: Se me ha olvidado comentar un detalle |
#2
|
|||
|
|||
Solucionado!!!
Para quien le interese le dejo como lo he solucionado.
He averiguado la clase de la aplicación mediante la utilidad WinID que entre otra información te da la clase y el handle de la ventana sobre la que pones el cursor. Entonces, en el evento OnCreate he ejecutado la aplicación mediante la función ejecutar encontrado en los trucos. A continuación en el evento OnShow he buscado con FindWindow la clase obtenida anteriormente con el WinID. Con esto obtengo el handle de la ventana y a continuación pues he usado el SetParent y el SetWindowsPos sin ningún problema.
Quizás haya alguna otra forma de hacerlo, pero a mí al menos así me funciona. Saludos!
__________________
"Patientia et constantia taelecum" |
![]() |
|
|
![]() |
|