Cita de: Cromatico en 3 Febrero 2015, 04:27 AM
No se si será lo ideal o quizas hay una forma mejor...
Pero yo usaba SetParent para meter la ventana/form de X aplicacion dentro de la mia...
Ejemplo de google:
http://www.recursosvisualbasic.com.ar/htm/listado-api/152-incrustar-programa-en-picturebox.htm
Estimo que se podrá hacer con el chrome... Saludos
Tu aportación me ha parecido buena idea, pero hay un problema y es el siguiente
Código (vb) [Seleccionar]
Call Incrustar_calculadora("calc.exe", Picture1, "Calculadora", Me)
el problema está en "Calculadora" es el "windows text" , el texto de la ventana. Resulta que en la calculadora es "Calculadora", si por ejemplo pusiera:
Código (vb) [Seleccionar]
Call Incrustar_calculadora("calc.exe", Picture1, "", Me)
La calculadora se ejecuta fuera del Picture y del form. Exácamente ocurre con Google y cualquier otro programa que he encontrado.
Es posible obtener el nombre a partir del Hwnd mediante GetWindowText, pero pese a ello no he conseguido que funcione. Modifiqué el código original habiendo de introducir el ClassName de Chrome.exe después de que se ejecuta con Shell. En lugar de poner:
Código (vb) [Seleccionar]
Call Incrustar_calculadora("calc.exe", Picture1, "Calculadora", Me)
Había que poner:
Código (vb) [Seleccionar]
[code=vb] Call Incrustar_calculadora("calc.exe", Picture1, "SciCalc", Me)
[/code]Y funcionaba incluso si en lugar de poner "SciCalc", no ponía nada, es decir "".
Sin embargo con Google Chrome cuyo nombre de clase es Chrome_WidgetWin_1 seguía sin incrustarse en el Picture:
Código (vb) [Seleccionar]
Call Incrustar_calculadora("C:\Program Files\Google\Chrome\Application\chrome.exe", Picture1, "Chrome_WidgetWin_1", Me)
Tampoco con el código original, en el cual abría que poner "Sin título - Google Chrome" pues es el nombre de la ventana:
Código (vb) [Seleccionar]
Call Incrustar_calculadora("C:\Program Files\Google\Chrome\Application\chrome.exe", Picture1, "Sin título - Google Chrome", Me)