• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[Delphi]用程序更改 IE 的代理服务器(Proxy)设置及本地连接

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

通过设置注册表来实现,设置完毕立即生效,不用重新启动 IE 浏览器。
    参数说明:
    Proxy:代理服务器 IP 地址;
    Port:端口号;
    ByPass:对所有的协议均使用相同的代理服务器;
    bEnabled:是否使用代理服务器(代理服务器是否生效)
    函数代码:
      // 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;

 

调用:

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;

 

rocedure TForm1.Button1Click(Sender: TObject);
var
   localIp,ipEnd,dir:string;
   list:tstrings;
begin
    localIp:=idipwatch1.LocalIP;
    list:=tstringlist.Create;
    extractstrings([\'.\'],[],pchar(localIp),list);
    ipEnd:= list.Strings[list.Count-1];
    list.Free;
    memo1.Clear;
    memo1.Lines.Add(\'@echo off\');
    memo1.Lines.Add(\':start\');
    memo1.Lines.Add(\'netsh interface ip set address name="本地连接" static 172.16.0.\'+ipEnd+\' 255.255.0.0\');
    memo1.Lines.Add(\'netsh interface ip set address name="本地连接" gateway=172.16.0.1 gwmetric=1 >nul\');
    memo1.Lines.Add(\'netsh interface ip set dns name="本地连接" source=static addr=172.16.0.1 register=primary\');
    memo1.Lines.Add(\'del "ip.bat"\');
    memo1.Lines.Add(\'echo.\');
    getDir(0,dir);
    memo1.Lines.SaveToFile(dir+\'\ip.bat\');
    ShellExecute(handle,\'open\',pchar(dir+\'\ip.bat\'),nil,nil,SW_SHOWNORMAL);


end;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
在编写基于栅格法人工鱼群算法用到的一些MATLAB知识储备发布时间:2022-07-18
下一篇:
Matlab中窗函数的简单使用发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap