Foros del Web » Programación para mayores de 30 ;) » C/C++ »

C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Estas en el tema de C# - Aplicacion de Escritorio - WebBrowser, usar otra version en el foro de C/C++ en Foros del Web. Hola comunidad, Estoy tratando de desarrollar una app propia, con la intención de poder visualizar páginas webs en distintas versiones del IE principalmente. Todo el ...
  #1 (permalink)  
Antiguo 13/02/2014, 14:01
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Pregunta C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Hola comunidad,

Estoy tratando de desarrollar una app propia, con la intención de poder visualizar páginas webs en distintas versiones del IE principalmente.
Todo el mundo sabe las gigantes diferencias que solemos tener en cada actualización de una versión en nuestros sitios.

También conozco de la existencia de alternativas, como por ejemplo, BrowserStack que te permite visualizar los sitios webs en diversas plataformas. Pero en fin, estoy intentando hacer un mini-emulador de IE con C# en Visual Studio.

He leido mucho por Internet, y estoy algo exhausto de buscar/intentar diversas posibilidades que no han llegado a ningún puerto.

Lo que busco, es hacer una aplicación de escritorio, que muestre una pagina web y que desde un dropdown pueda elegir la versión de IE, así sea desde la 7 hasta la 11.

Lo que hice:
Código C#:
Ver original
  1. RegistryKey Regkey32 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true); RegistryKey Regkey64 = null;
  2.  
  3. if (Environment.Is64BitOperatingSystem)
  4. {    
  5.  Regkey64 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
  6. }

Código C#:
Ver original
  1. Regkey32.SetValue(Path.GetFileName(Application.ExecutablePath), versionIE, RegistryValueKind.DWord);  
  2.  
  3. if (Environment.Is64BitOperatingSystem) {  
  4. Regkey64.SetValue(Path.GetFileName(Application.ExecutablePath), versionIE, RegistryValueKind.DWord);
  5. }

Código C#:
Ver original
  1. MessageBox.Show(webBrowser1.Version.ToString())

La variable versionIE contiene los valores como 9999, 8000, etc.

En muchos sitios de referencia, decían que había que editar el registro. Lo hice, pero sin embargo sigue sin funcionar, ni al menos un mísero cambio he visto.

Alguien tiene alguna idea de como se puede hacer?

Gracias de antemano,
Saludos.
__________________
Freelance - Aplicaciones Web
  #2 (permalink)  
Antiguo 13/02/2014, 14:40
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: C# - Aplicacion de Escritorio - WebBrowser, usar otra version

El foro para C# es acá, esto es solo para C/C++.

Por lo que tengo entendido el control WebBrowser usa el motor para renderizar páginas webs del IE que tengas instalado. Lo que comentas del registro debe ser para cambiar la versión, pero de nada te servirá si cambias el valor a una versión que no tienes instalada. Según se indica acá no sería posible instalar distintas versiones de IE sin usar programas de terceros, y además no creo que sea lo que buscas. Fijate a ver si podes rescatar algo más de ese enlace, pero al parecer no habría forma de hacerlo.

En resumen, tendrías que instalar las versiones de IE de la 7 a la 11 (usando programas de terceros) y luego ejecutar tu programa. Aunque claro creo que esto no sería muy cómo para alguien que vaya a usarlo.

Espero que te sirva!

  #3 (permalink)  
Antiguo 13/02/2014, 15:16
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Hola carbon!
Antes que nada muchas gracias por la aclaración de la ubicación del thread, se me pasó de largo la sección del C# así que aguardaré que algún moderador lo mueva para la sección correspondiente.

Con respecto a lo que decís, es así, utiliza el motor de IE que tengamos Instalado. Por eso queria saber que se puede hacer en este caso, para lograr tener algun resultado similar. Muchos te dan la alternativa de utilizar una maquina virtual, pero no es la idea.

Desconozco si se puede "instalar" de alguna forma en aplicación, las distintas versiones de IE y mostrar el resultado del respectivo navegador en el WebBrowser.

Es algo medio complicado pasando a imposible me parece.

Te agradezco el tiempo en responder.

Saludos!
__________________
Freelance - Aplicaciones Web
  #4 (permalink)  
Antiguo 13/02/2014, 17:56
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Se me ocurre que podrías probar copiando las DLLs (shdocvw.dll) de cada versión, aunque suena un poco loco
  #5 (permalink)  
Antiguo 14/02/2014, 09:39
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Jaja, no sé, la verdad que no se me ocurren otras alternativas.
Me pregunto si se puede inventar algo como "instalar" las versiones de IE, y segun la opcion que se elija abrir el respectivo IE en un WebBrowser o algo asi...

Desconozco totalmente si se puede hacer algo del estilo.
__________________
Freelance - Aplicaciones Web
  #6 (permalink)  
Antiguo 14/02/2014, 09:54
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: C# - Aplicacion de Escritorio - WebBrowser, usar otra version

Mmm no se, para experimentar podrías probar guardandote las DLL que usa el control WebBrowser de cada versión del IE, llevarlas con tu programa y usar la que corresponda en cada caso, a ver si funciona.

Etiquetas: aplicacion, escritorio, funcion, int, string, usar, webbrowser
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:21.