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

Delphi 使用Rad Studio 2007在vcl.net应用程序中读取代理详细信息,delphi,proxy,delphi-2007,Delphi,Proxy,Delphi 2007,如何从vcl.net应用程序(Rad Studio 2007)读取代理详细信息(地址和端口)?。 听说过InternetGetProxyInfo。但是没有在任何地方找到细节 谢谢。我只是想给你一个想法。我从来没有找到其他方法:( 过程TfrmProxy.sbtnGetIEProxyClick(发送方:TObject); 函数GetHTTPProxy(const str:String):String; 变量 ts:TStringList; i:整数; 开始 ts:=TStringList.Crea

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


谢谢。

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

过程TfrmProxy.sbtnGetIEProxyClick(发送方:TObject);
函数GetHTTPProxy(const str:String):String;
变量
ts:TStringList;
i:整数;
开始
ts:=TStringList.Create;
尝试
文本:=StringReplace(str,;,#13#10,[rfReplaceAll]);
如果ts.Count=1,则
结果:=ts[0]
其他的
开始
对于i:=0到ts.Count-1 do
开始
如果pos(大写('http')、大写(ts[i])大于0,则
开始
结果:=拷贝数(ts[i],6,长度(ts[i]);
出口
结束;
结束;
结束;
最后
免费;
结束;
结束;
变量
注册:树木学;
str:字符串;
开始
Reg:=TRegistry.Create;
尝试
Reg.RootKey:=HKEY\U当前用户;
如果存在注册表项(“软件\Microsoft\Windows\CurrentVersion\Internet设置”),则
开始
注册表OpenKeyReadOnly(“软件\Microsoft\Windows\CurrentVersion\Internet设置”);
chxUseProxy.Checked:=Reg.ReadInteger('proxysenable')0;
如果chxUseProxy.已选中,则
开始
str:=Reg.ReadString('ProxyServer');
str:=GetHTTPProxy(str);
Text:=Copy(str,0,pos(“:”,str)-1);
Text:=Copy(str,pos(“:”,str)+1,length(str));
结束;
注册关闭键;
结束;
最后
注册免费;
结束;
结束;
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;