Чтение сведений прокси в приложении VCL.NET с помощью RAD Studio 2007

голоса
3

Как читать сведения о прокси (адрес и порт) из приложения VCL.NET (RAD Studio 2007?). Слышала о InternetGetProxyInfo. Но не нашли ПОДРОБНО.Подробнее где-либо.

Спасибо.

Задан 10/12/2008 в 00:12
источник пользователем
На других языках...                            


1 ответов

голоса
1

Просто чтобы дать представление. Я никогда не найти другой путь :(

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;
Ответил 06/11/2009 в 22:57
источник пользователем

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