PDA

Ver la Versión Completa : Establecer Pagina de inicio del navegador desde Delphi


dmassive
27-03-2008, 14:40:24
żEs posible establecer en Internet Explorer u otro navegador (Opera, Firefox), la pagina de inicio desde Delphi?

Muchas Gracias.

Neftali [Germán.Estévez]
27-03-2008, 16:03:44
Puedes utilizar la Clase Tregistry para modificar las claves de registro apropiadas.
En el caso de Internet explorer:
HKCU\Software\Microsoft\Internet Explorer\Main\Start Page

Para los otros supongo que debe ser similar.

Black_Ocean
27-03-2008, 21:31:22
¿Es posible establecer en Internet Explorer u otro navegador (Opera, Firefox), la pagina de inicio desde Delphi?

Muchas Gracias.

Hola dmassive,

Para cambiar la página de inicio en Internet Explorer sería algo así:

uses
Registry;

const
PagInicio = 'www.pagina.com';
ClaveRoot = HKEY_CURRENT_USER;
SubClave = 'Software\Microsoft\Internet Explorer\Main';

procedure CambiarPaginaInicioIE;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := ClaveRoot;
if Reg.Openkey(SubClave, True) then
try
Reg.WriteString('Start Page', PagInicio);
except
on ERegistryException do
Abort; //o un mensaje en pantalla indicando que por esta excepción no se pudo escribir el valor.
end;
finally
Reg.Free;
end;
end;

Para Firefox lo primero que debes hacer es obtener la ruta de firefox de configuración del usuario actual EJ: C:\Documents and Settings\Usuario\Datos de programa\Mozilla\Firefox\

En código sería algo como lo siguiente:
function ObtenerRutaUsuarioFirefox(var Buffer: TFileName): boolean;
var
PRuta: ^TFileName;
begin
Result := False;
New(PRuta);
PRuta^ := IncludeTrailingPathDelimiter(GetEnvironmentVariable('AppData')) + 'Mozilla\Firefox\';
if DirectoryExists(PRuta^) then
begin
Buffer := PRuta^;
Result := True;
end;
Dispose(PRuta);
end;

Luego, tienes que obtener el perfil de usuario predeterminado que Firefox está usando, esto lo obtienes del archivo profiles.ini de la ruta anteriormente señalado. Este archivo lo puedes leer muy fácilmente desde Delphi como un archivo INI declarando en tu USES INIFiles y declarando una clase TINIFile para poder manipularlo.

Luego de obtener la ruta del perfil de usuario utilizado de Firefox debes acceder al archivo prefs.js que es el archivo de configuraciones de firefox, obtener la sección en el archivo user_pref("browser.startup.homepage", "http://www.google.com"); y cambiarlo por el valor que quieras, que en este caso, corresponde a la URL de inicio predeterminada.

Espero que te haya ayudado.

Saludos y buena suerte.