PDA

Ver la Versión Completa : Llamar mi propio explorardor


jhonny
24-06-2003, 19:30:07
Hola :D,

Estoy usando el componente TWebBrowser, y tengo instalada la version Profesional del Delphi 6, pero como a muchos les a pasado...

Cuando hago click en un enlace, lo que hace es abrir el
Internet Explorer...
Me imagino que lo que hace es ir al registro de windows y
ver cual es el explorador por defecto y lo "llama"...

Entonces se me ocurrio la siguiente idea:
"Si pongo mi explorador como explorador por defecto
entonces se abrira mi explorador en lugar del
Internet explorer"

y por ello mi post el dia de hoy:

1. Alguna persona sabe y me podria decir,
¿cual es la clave que debo modificar para tal efecto?.

2. Es cierta mi teoria?, ¿Debo hacerlo de otra forma?, ¿cual?.

Espero sean claras mis preguntas...y que la respuesta nos sirva
a muchos como guia.

De antemano Muchisimas gracias por su interes y tiempo
prestado.

Bacterion
24-06-2003, 19:46:43
Supongo que (al menos en W2000), con botón derecho, abrir con, elegir Programa, y chequear "Utilizar siempre este programa para bla bla bla...
...debería bastarte.

En teoría con eso basta (la clave no se cual es, pero puedes probar para ver si funciona).
Lo que no se seguro es si tu aplicación debe aceptar por parámetro de linea de comandos el fichero a abrir (que pa mi que va a ser que si).

jhonny
24-06-2003, 19:57:32
Bueno gracias Bacterion, pero, La aplicacion lo que hace es:

Al abrirce, entra directamente a un sitio web predefinido por el
usuario usando el Procedimiento Navigate del TWebBrowser, y
luego el usuario podra navegar por el CyberEspacio, pero el
problema radica en que siempre que el usuario da Click
a un enlace se abre el Internet Explorer en lugar de hacerlo mi
"Explorador".

Por lo tanto no existe la posibilidad de hacer lo que me
haz comentado debido a que en ningun momento estoy usando
Ficheros.

__hector
24-06-2003, 22:30:39
Sobre cualquier enlace? Ese comportamiento esta extraño (no normal), salvo que el enlace sobre el que haces clic pretenda abrirse sobre una nueva ventana (como el parametro target="_blank" de html)

jhonny
24-06-2003, 22:39:37
:eek:, tenes toda la razon...me equivoque al decir
Cualquier enlace...en realidad es sobre los enlaces que pretendan hacer un target="_blank" ... aun asi deberia de
abrirme entonces otra ventana pero no con el Internet explorer si no con mi "Explorador".

Disculpen las molestias :)

madman
25-06-2003, 04:03:12
Checa aki un comentario de los foros anteriores, donde hice la misma pregunta:

.>>> Hilo semejante, en los foros anteriores <<< (http://www.clubdelphi.com/foros/archivo/viewtopic.php?t=19164&highlight=)

Aunke nunka lo implemente, me encontre con otro trabajo y deje olvidado ese proyecto

jhonny
26-06-2003, 19:31:12
Gracias madman es una buena opcion, la probare y les cuento como me fue...

coletaum
08-07-2003, 10:57:48
HOla, jhonny
yo me encuentro con el mismo problema, ¿solucionaste lo de abrir por defecto una nueva ventana, "hija" de tu propio explorador en vez de abrir el browser por defecto del sistema?

Gracias a todos.

roman
08-07-2003, 18:33:00
La solución que mencionan de los foros anteriores parece no funcionar. El problema hasta donde entiendo es que el evento OnBeforeNavigate se genera en la nueva ventana, no en la original.

Sin embargo hay una solución muy sencilla: el evento OnNewWindow2. Supongamos que FormBrowser es un formulario con un control WebBrowser. En su evento OnNewWindow2 ponemos:


procedure TForm1.BrowserNewWindow2(
Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
with TFormBrowser.Create(Application) do
begin
ppDisp := WebBrowser.Application;
Show;
end;
end;


Y eso es todo, cada vez que un enlace nos lleve a otra ventana se abrirá un nuevo formulario con la página cargada.

Esto funciona aun cuando se trate de un enlace normal y escojamos la opción "Abrir vínculo en una nueva ventana"

Sin embargo no parece funcionar cuando oprimimos Ctrl-U o Ctrl_N para abrir una nueva ventana.

// Saludos