Ver Mensaje Individual
  #1  
Antiguo 13-05-2010
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Reputación: 20
vejerf Va por buen camino
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:
Código Delphi [-]
Ejecutar('C:\Archivos de programa\CompeGPS\CompeGPSLand.exe',nil,5000);
  PHandle := FindWindow(nil, 'CompeGPS LAND');
  Windows.SetParent(PHandle, PanelCompeGPS.Handle);
  SetWindowPos(PHandle,HWND_TOP,-5,-30-21,TScreen.Create(nil).Width-Panel2.Width+10,PanelCompeGPS.Height+35+16,SWP_SHOWWINDOW);

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
Responder Con Cita