delphi - 使用 Rad Studio 2007 读取 vcl.net 应用程序中的代理详细信息

标签 delphi proxy delphi-2007

如何从 vcl.net 应用程序 (Rad Studio 2007) 读取代理详细信息(地址和端口)? 听说过 InternetGetProxyInfo。但没有在任何地方找到详细信息。

谢谢。

最佳答案

只是提供一个想法。我从来没有找到其他方法:(

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;

关于delphi - 使用 Rad Studio 2007 读取 vcl.net 应用程序中的代理详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354586/

相关文章:

c# - 如何在 C# 中模拟 Delphi 2007 SecondsBetween 函数?

data-structures - 搜索后代的无序列表

delphi - 如何禁用控制台快速编辑模式

delphi - 如何在TStringGrid中显示行号?

api - 打开 Charles 代理时无法访问网站 (Windows 10)

mysql - 如何使用 dbExpress 处理多结果集查询

html - 如何在Delphi中生成一个tinyurl

apache - 我可以将一些确切的远程 URL 映射到具有不同端口的本地 URL

c++ - C/C++ 套接字代理

delphi - 如何在 Delphi 中停止使用 IVBSAXXMLReader 解析 XML 文档?