Abrir Chrome dentro de un form

Iniciado por NsTeam, 30 Enero 2015, 20:08 PM

0 Miembros y 1 Visitante están viendo este tema.

NsTeam

Buenas tardes a todos, tengo una duda desde ya hace tiempo y no sé cómo resolverla, espero puedan ayudarme

Quisiera saber si es posible abrir el mismo Chrome dentro de un formulario, algo así



Que el navegador esté dentro del form, y obviamente al mover el form, también se mueva el navegador.

Será posible?, muchas gracias.

TheH4ck

Podrías hacerlo con el control "Microsoft Internet Controls" pero si quieres abrir chrome en el formulario haz:

Shell ("C:\Program Files\Google\Chrome\Application\chrome.exe" , vbNormalFocus)

Pero que se mueva con el formulario sería medio imposible...

NsTeam

Hola compañero, precisamente es lo que quiero dejar de usar ya que el navegador de IE (Microsoft Internet Controls"), es muy lento.

El código que me mostraste sólo usa el comando shell para abrir Chrome, mas no para abrirlo dentro de un form.

Gracias igualmente.

Cita de: TheH4ck en 30 Enero 2015, 20:41 PM
Podrías hacerlo con el control "Microsoft Internet Controls" pero si quieres abrir chrome en el formulario haz:

Shell ("C:\Program Files\Google\Chrome\Application\chrome.exe" , vbNormalFocus)

Pero que se mueva con el formulario sería medio imposible...

Cromatico

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

okik

#4
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)