灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3018回复:0

Delphi 设置代理服务

楼主#
更多 发布于:2012-09-08 13:03

本文说明了用delphi设置IE浏览器的代理服务。
  参数说明:
    Proxy:代理服务器 IP 地址;
    Port:端口号;
    ByPass:对所有的协议均使用相同的代理服务器
    bEnabled:是否使用代理服务器(代理服务器是否生效)、

[delphi] // uses Wininet, registry;
     function ChangeProxy(const Proxy, Port,ByPass: string; const bEnabled: boolean = True): boolean;
     var
       reg: Tregistry;
       info: interNET_PROXY_INFO;
       Fproxy: string;
     begin
       Result := False;
       FProxy :=Format('%s:%s',[Proxy,Port]);
       reg :=Tregistry.Create;
       try
         reg.RootKey :=HKEY_CURRENT_USER;
         if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then
         begin
           reg.Writestring('ProxyServer', Fproxy);
           reg.WriteInteger('ProxyEnable', integer(bEnabled));
           info.dwAccessType :=INTERNET_OPEN_TYPE_PROXY;
           info.lpszProxy :=pchar(proxy);
           info.lpszProxyBypass :=pchar(ByPass);
           InternetSetOption(nil, INTERNET_OPTION_PROXY, @info, SizeOf(Info));
           InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
           Result:=True;
         end
       finally
         reg.CloseKey;
         reg.free;
       end;
     end;
具体的调用:
[delphi] 设置:
procedure TForm1.Button1Click(Sender: TObject);
begin
ChangeProxy('202.99.29.27','80','1',true)
end;
  
取消:
procedure TForm1.Button2Click(Sender: TObject);
begin
ChangeProxy('202.99.29.27','80','1',false)
end;


喜欢0 评分0
游客

返回顶部