Delphi 使用Rad Studio 2007在vcl.net应用程序中读取代理详细信息
如何从vcl.net应用程序(Rad Studio 2007)读取代理详细信息(地址和端口)?。 听说过InternetGetProxyInfo。但是没有在任何地方找到细节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
谢谢。我只是想给你一个想法。我从来没有找到其他方法:(
过程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;