Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 07-abr-2008, 10:31   #1 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 593
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.
gnzsoloyo está desconectado   Responder Citando
Antiguo 07-abr-2008, 10:35   #2 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.570
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 07-abr-2008, 11:37   #3 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 593
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ó.
gnzsoloyo está desconectado   Responder Citando
Antiguo 07-abr-2008, 12:02   #4 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.570
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: Llamar al Web Browser desde un RTB

como q una clave??
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 07-abr-2008, 12:03   #5 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.570
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 07-abr-2008, 12:04   #6 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 593
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?
gnzsoloyo está desconectado   Responder Citando
Antiguo 07-abr-2008, 12:30   #7 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.570
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: Llamar al Web Browser desde un RTB

System.Diagnostics.Process.Start("http://yourwebapp/yourfile.aspx")
asi ponloo q lo resuelva el sistema operativo
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 07-abr-2008, 13:01   #8 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 593
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).
gnzsoloyo está desconectado   Responder Citando
Antiguo 07-abr-2008, 13:23   #9 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.570
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 07-abr-2008, 13:28   #10 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 593
Re: Llamar al Web Browser desde un RTB

¡Exacto! Esa era la solución que estaba buscando...
Muchas gracias.
gnzsoloyo está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 16:41.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93