Foros del Web » Programación para mayores de 30 ;) » .NET »

Llamar al Web Browser desde un RTB

Estas en el tema de Llamar al Web Browser desde un RTB en el foro de .NET en Foros del Web. Hola. Tengo un formulario en el que dentro de un RichTextBox hay un link a una página web. El link funciona perfectamente cuando uso este ...
  #1 (permalink)  
Antiguo 07/04/2008, 10:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Llamar al Web Browser desde un RTB

Hola.
Tengo un formulario en el que dentro de un RichTextBox hay un link a una página web. El link funciona perfectamente cuando uso este método:
Código:
    Private Sub RichTextBox1_LinkClicked(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.LinkClickedEventArgs) _
    Handles RichTextBox1.LinkClicked
            p = System.Diagnostics.Process.Start("IExplore.exe", e.LinkText)
    End Sub
El problema es que no quiero llamar al Internet Explorer específicamente, sino al navegador por default que el usuario tenga instalado (estoy considerando, por ejemplo, que tengan el Mozilla Firefox, pero puede no ser el único).

¿Cómo ´debería hacer la llamada para que cargue la página sobre él.
  #2 (permalink)  
Antiguo 07/04/2008, 10:35
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Llamar al Web Browser desde un RTB

pues entonces deja q windows lo resuelva solo dile q inicie un proceso con el url el resolvera q navegaodr abrir

pero considera q tendiras q validar que el url es valido con un regex
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 07/04/2008, 11:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Llamar al Web Browser desde un RTB

La Urle está perfectamente validada, el problema es que si le mando el link, y dejo que Windows resuelva que hace, sí me abre el browser por default, pero me larga un mensaje que dice "Error en la apertura de una clave", por lo que parece que intenta leer una clave del registro.
Intenté capturar el error con un Try..Catch, pero no resultó.
  #4 (permalink)  
Antiguo 07/04/2008, 12:02
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Llamar al Web Browser desde un RTB

como q una clave??
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 07/04/2008, 12:03
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Llamar al Web Browser desde un RTB

entonces ese es problema del windows en el q estas probando, prueba en otra maquina y revisalo
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 07/04/2008, 12:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Llamar al Web Browser desde un RTB

Se refiere a la apertura de una clave del Registry.
Mismo problema, en tres máquinas distintas.

La pregunta sería entonces: ¿Cómo hago para averiguar cual es el nombre del browser por default en una PC desde un Windows Form, suponiendo que no es el IExplore.exe?
  #7 (permalink)  
Antiguo 07/04/2008, 12:30
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Llamar al Web Browser desde un RTB

System.Diagnostics.Process.Start("http://yourwebapp/yourfile.aspx")
asi ponloo q lo resuelva el sistema operativo
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #8 (permalink)  
Antiguo 07/04/2008, 13:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Llamar al Web Browser desde un RTB

Es exactamente esa sintaxis la que me causa el problema:
Código:
 p = System.Diagnostics.Process.Start(e.LinkText)
e.LinkText contiene en este punto, por ejemplo: "http://dev.mysql.com/downloads/"

Y el resultado es:
1. Abre la ventana del browser y muestra la página pedida.
2. Muestra un mensaje de error diciendo "Error en la apertura de una clave".

Insisto:
¿Cómo hago para averiguar cual es el nombre del browser por default en una PC desde un Windows Form, suponiendo que no es el IExplore.exe?

Detalle a tener en cuenta:
No estoy programando una aplicación web (ASP) sino una aplicación de escritorio que tiene acceso a internet (VB en VS2003).
  #9 (permalink)  
Antiguo 07/04/2008, 13:23
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Llamar al Web Browser desde un RTB

private string getDefaultBrowser()
{
string browser = string.Empty;
RegistryKey key = null;
try
{
key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open
\command", false);

//trim off quotes
browser = key.GetValue(null).ToString().ToLower().Replace("\ "",
"");
if (!browser.EndsWith("exe"))
{
//get rid of everything after the ".exe"
browser = browser.Substring(0, browser.LastIndexOf(".exe")+
4);
}
}
finally
{
if (key != null) key.Close();
}
return browser;
}


retorna el browser por default del windows register
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 07/04/2008, 13:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Llamar al Web Browser desde un RTB

¡Exacto! Esa era la solución que estaba buscando...
Muchas gracias.
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 19:50.