Retreive default browser path
Post date: Mar 9, 2010 12:21:29 PM
There are many different ways to retreive the default browser path. I will detail two methods.
1. Using registry.
uses
Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
KeyName: string;
ValueStr: string;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
KeyName := 'htmlfile\shell\open\command';
if Reg.OpenKey(KeyName, False) then
begin
ValueStr := Reg.ReadString('');
Reg.CloseKey;
ShowMessage(ValueStr);
end
else
ShowMessage('There isn't a default browser');
finally
Reg.Free;
end;
end;
2. Using associated application.
var
Path: array[0..255] of char;
begin
CloseHandle(CreateFile('C:\default.html', GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0));
FindExecutable('C:\default.html', nil, Path); //Find the executable (default browser) associated with the html file.
DeleteFile('C:\default.html');
Showmessage(Path);
end;