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);