如题: delphi中怎么获取机器上安装的所有浏览器路径?

解决方案 »

  1.   

    Uses Registry;function DefaultBrowser:string;
    var
    reg: TRegistry;
    begin
    reg := TRegistry.Create;
    try
    reg.RootKey := HKEY_CLASSES_ROOT;
    reg.OpenKey('http\\shell\\open\\command',false);
    result:=reg.ReadString('');
    Result:=Copy(result,Pos('"',result)+1,Length(result)-1);
    result:=Copy(result,1,Pos('"',result)-1);
    reg.CloseKey;
    finally
    reg.Free;
    end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    ShowMessage(DefaultBrowser);
    end;
    只能查到默认浏览器的路径,其他的浏览器相当于系统来说就是一个普通软件,系统并不知道它是不是浏览器。当然你也可以列举所有安装软件列表,自己检查哪些是浏览器。
      

  2.   

    这个问题无解。
    我自己写个浏览器程序,命名为 F.exe, 而且他不读写注册表,你说系统怎么能辨认这个程序不是一个浏览器程序?