Lendo detalhes do proxy em uma aplicação vcl.net usando Rad Studio 2007

votos
3

Como ler os detalhes de proxy (endereço e porta) de um aplicativo vcl.net (Rad Studio 2007?). Ouvido sobre InternetGetProxyInfo. Mas não encontramos os detalhes em qualquer lugar.

Obrigado.

Publicado 10/12/2008 em 00:12
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Só para dar uma idéia. Eu nunca encontrar outra maneira :(

procedure TfrmProxy.sbtnGetIEProxyClick(Sender: TObject);

  function GetHTTPProxy(const str: String): String;
  var
    ts: TStringList;
    i: Integer;
  begin
    ts := TStringList.Create;
    try
      ts.Text := StringReplace(str, ';', #13#10, [rfReplaceAll]);
      if ts.Count = 1 then
        Result := ts[0]
      else
      begin
        for i := 0 to ts.Count-1 do
        begin
          if pos(UpperCase('http'), uppercase(ts[i])) > 0 then
          begin
            Result := Copy(ts[i], 6, length(ts[i]));
            Exit;
          end;
        end;
      end;
    finally
      ts.Free;
    end;
  end;


var
  Reg: TRegistry;
  str: String;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.KeyExists('Software\Microsoft\Windows\CurrentVersion\Internet Settings') then
    begin
      Reg.OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\Internet Settings');
      chxUseProxy.Checked := Reg.ReadInteger('ProxyEnable') <> 0;
      if chxUseProxy.Checked then
      begin
        str := Reg.ReadString('ProxyServer');
        str := GetHTTPProxy(str);
        ledtProxyHost.Text := Copy(str, 0, pos(':', str)-1);
        ledtProxyPort.Text := Copy(str, pos(':', str)+1, length(str));
      end;
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;
Respondeu 06/11/2009 em 22:57
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more