Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2005
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Question Como obtener el navegador predeterminado

Hola amigos programadores espero que esten bien. bueno mi problema es el siguiente actualmente estoy desarrollando una aplicacion en la cual se me ocurrio agregarle una funcion para determinar si se encuentra conectado a internet el cual ya pude hacerlo, pero el problema que me vino es que en la maquina donde pruebo el sistema tiene 2 navegadores tanto mozilla como internet explorer, y lo que quiero saber es como puedo saber cual de los 2 es el predeterminado y como ejecutarlo para que al momento de que el usuario desee navegar por internet se ejecute el navegador, espero que me puedan ayudar. de antemano gracias
Responder Con Cita
  #2  
Antiguo 15-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No estoy cien por cien seguro, pero, creo que, si haces uso de la función "ShellExecute", por ejemplo, para abrir un archivo o una página Web (URL) sin indicar con qué programa, el sistema se encargará de buscar el programa "por defecto" para la tarea que quiere llevarse a cabo. Por ejemplo, si tienes como navegador predeterminado el programa FireFox y haces uso de "ShellExecute" para abrir una determinada URL, esta se abrirá en dicho navegador de Internet.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 15-09-2005
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Hola dec muchas gracias por tu respuesta, pero si no es mucho pedir me podrias mandar algun ejemplo?
Responder Con Cita
  #4  
Antiguo 15-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Como he dicho más arriba, tengo como "navegador predeterminado" el Mozilla FireFox. Pues bien, con lo siguiente, al pretender abrir mediante la función "ShellExecute" (en la unidad "ShellApi") una determinada URL conocida de todos, la misma se abrirá con el "navegador predeterminado", esto es, como digo, la URL se abrirá en FireFox. Si FireFox ya está abierto la URL se cargará en la pestaña "activa" del nagegador.

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 resourcestring
   sUrl = 'http://www.clubdelphi.com';
 begin
   ShellExecute(GetDesktopWindow, PChar('open'),
     PChar(sUrl), nil, nil, SW_NORMAL);
 end;
Sin embargo, aunque tenga como "navegador predeterminado" el mencionado FireFox, todavía con la función "ShellExecute" se puede "forzar" a que abra la URL del ClubDelphi en el navegador Internet Explorer. Fíjate en la ayuda de la función "ShellExecute"; la encontrarás en la ayuda del SDK de Win32, el cual encontrarás en el propio menú de ayuda de Delphi.

Pues bien, iba a decir que anteriormente pasábamos como el parámetro "programa a ejecutar" una URL, sin más, y así conseguíamos lo que se pretendía en un principio, o casi: que fuera Windows el encargado de decidir con qué programa prefiere el usuario abrir las URL, en este caso, pero esto valdría para cualquier otro tipo de "archivo": si pretendes abrir y mostrar con "ShellExecute" un archivo "de texto plano" (*.txt), generalmente, será el Bloc de Notas el encargado de hacerlo.

A lo que íbamos. A forzar a que una URL se abra en Internet Explorer. Aquí está el código:

Código Delphi [-]
 procedure TForm1.Button2Click(Sender: TObject);
 resourcestring
   sUrl = 'http://www.clubdelphi.com';
 begin
   ShellExecute(GetDesktopWindow, PChar('open'),
     PChar('iexplore.exe'), PChar(sUrl), nil, SW_NORMAL);
 end;
¿Qué cambia respecto del anterior? Vuelvo a remitirte a la ayuda de la función "ShellExecute". Cambia que ahora estamos pasándole como parámetro el ejecutable de un programa (con Internet Explorer y FireFox funciona bien Windows XP y Delphi 7 comprobado) -podría ser también la ruta completa del programa: de lo contrario Windows tendrá que averiguar dónde está en realidad el programa a que quiere llamarse, aunque ya digo que no parece tener Windows problemas en localizar a Internet Explorer y FireFox, por poner dos casos- ...

Decía que dos son los parámetros que nos interesan: el ejecutable a ejecutar y ¿qué más? El archivo, en este caso, una URL, que queremos que ejecute como deba el programa a que llamamos. En este caso se manda ejecutar el programa Internet Explorer y se le pasa como parámetro una dirección URL, la cual será abierta por el navegador, insisto -y acabo ya- en este caso, aunque yo tenga configurado como "navegador predeterminado" a Mozilla FireFox
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 19-09-2005
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Gracias dec lo puse en practica y funciona bastante bien. Estaremos en contacto
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:18:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi