Witam!
Czy ktoś ma jakieś źródło odnośnie wykrywania zainstalowanych przeglądarek internetowych na komputerze, bądź ma pomysł jak się za to zabrać ?
Witam!
Czy ktoś ma jakieś źródło odnośnie wykrywania zainstalowanych przeglądarek internetowych na komputerze, bądź ma pomysł jak się za to zabrać ?
Nie wiem czy jest lepszy sposób ale można sprawdzić klucze:
HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet - tu chyba jest tylko info tylko która przeglądarka jest przeglądarką domyślną i to chyba tylko w XP
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
EDIT//
Tak możesz uzyskać listę ścieżek i nazw plików głównych przeglądarek czyli (IEXPLORE.EXE, firefox.exe itd.) a mając te dane za pomocą GetVersionInfo wyciągasz z tych plików nazwę i wersję produktu i chyba o to Ci chodzi.
const
Key1 = 'SOFTWARE\Clients\StartMenuInternet\';
Key2 = '\shell\open\command\';
var
reg: TRegistry;
sl: TStringList;
i: Integer;
begin
reg:= TRegistry.Create(KEY_READ);
try
reg.RootKey:= HKEY_LOCAL_MACHINE;
if reg.OpenKeyReadOnly(Key1) then
begin
sl:= TStringList.Create;
try
reg.GetKeyNames(sl);
reg.CloseKey;
for i:= 0 to sl.Count - 1 do
begin
if reg.OpenKeyReadOnly(Key1 + sl.Strings[i] + Key2) then
begin
Memo1.Lines.Add(reg.ReadString('')); //do memo ścieżka i nazwa pliku
reg.CloseKey;
end;
end;
finally
sl.Free;
end;
end;
finally
reg.Free;
end;
end;
W każdym Windows w rejestrze jest taki klucz:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
i w nim bez problemu odnajdujesz takie klucze jak:
firefox.exe
chrome.exe
iexplore.exe
opera.exe
Na podstawie ich istnienia masz wgląd, czy przeglądarka jest zainstalowana.
Jeśli chcesz lokalizację przeglądarki, odczytujesz wartość "Path".
No chyba, że jakiś patenciarz usunie na zywca folder z browserem ewentualnie zostawiając plik wykonywalny. :)
O wpisach w rejestrze nie wspomnę, że zostawi.
Oj a są takie patenty. :)