CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

请问怎样用程序改变当前机器的IE代理服务器地址?

楼主VBer2(俗人)2005-08-02 15:33:03 在 Delphi / 网络通信/分布式开发 提问

就是用程序实现:  
  Internet属性-》连接-》局域网设置-》为LAN使用代理服务器  
  的设置。  
  要用程序实现不用代理与用代理的转换,以及在不同代理地址之间的转换。  
  最好能有脚本语言,能在cmd下执行的,这样可以写在bat文件中,用其他方法实现也可。 问题点数:50、回复次数:10Top

1 楼Idle_(阿呆)回复于 2005-08-03 13:39:10 得分 0

用InternetSetOption这个api,   其中Flag为INTERNET_OPTION_PROXY  
  具体用法查msdnTop

2 楼BlueSoftEye(紫衣侠隐)回复于 2005-08-03 13:52:05 得分 0

procedure   SetProxy(FServer:String;FPort:Integer);  
  Var  
          sProxy:   string;  
          Pinfo:   INTERNET_PROXY_INFO;  
  begin  
      sProxy:=Format('%s:%s',[FServer,IntToStr(FPort)]);  
      Pinfo.dwAccessType   :=   INTERNET_OPEN_TYPE_PROXY;  
      Pinfo.lpszProxy   :=   pchar(sProxy);  
      SetReg;  
      InternetSetOption(nil,   INTERNET_OPTION_PROXY,   @Pinfo,   SizeOf(PInfo));  
      InternetSetOption(nil,   INTERNET_OPTION_SETTINGS_CHANGED,   nil,   0);  
  end;  
   
  procedure   SetReg(FServer:String;FPort:Integer);  
  Var  
      Reg:TRegistry;  
      sItem,sTmp:String;  
   
      Function   GetProxyRegString(sSrc,sSub:String):String;  
      Var  
          iTmp:Integer;  
          sDArray:DynamicArray_String;  
      Begin  
          Result:='';  
          IF   Trim(sSrc)=''   Then  
          Begin  
              Result:=sSub+'='+FServer+':'+IntToStr(FPort);  
              Exit  
          End;  
   
   
   
          IF   Pos(';',sSrc)=0   Then     //对所有协议均使用相同的代理服务器  
          Begin  
              SetLength(sDArray,1);  
              sDArray[0]:=FServer+':'+IntToStr(FPort);  
          End  
          Else  
          Begin  
              sDArray:=Split(sSrc,';');  
              For   iTmp:=Low(sDArray)   To   High(sDArray)   Do  
                  IF   Pos(sSub,sDArray[iTmp])>0   Then  
                  Begin  
                        sDArray[iTmp]:=sSub+'='+FServer+':'+IntToStr(FPort);  
                        Break;  
                  End;  
          End;  
   
          For   iTmp:=Low(sDArray)   To   High(sDArray)   Do  
          IF   iTmp<High(sDArray)   Then  
                Result:=Result+sDArray[iTmp]+';'  
          Else  
                Result:=Result+sDArray[iTmp];  
      end;  
  begin  
      Try  
          Reg:=TRegistry.Create;  
          Reg.RootKey   :=   HKEY_CURRENT_USER;  
          If   Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet   Settings',   True)   then  
          begin  
              sItem:=Reg.ReadString('ProxyServer');  
              sTmp:=ProxyTypeToString(Self.ProxyType);  
              sTmp:=GetProxyRegString(sItem,sTmp);  
              Reg.Writestring('ProxyServer',   sTmp);  
              Reg.WriteInteger('ProxyEnable',   integer(UseProxy));  
              Reg.CloseKey;  
          end  
      Finally  
          Reg.Free;  
      End;  
  end;  
   
   
  有详细的代码,要可以留下Email  
  Top

3 楼VBer2(俗人)回复于 2005-08-03 13:58:04 得分 0

To:   BlueSoftEye(紫衣侠隐)  
  要啊  
  我的E-Mail:wmab@163.comTop

4 楼fbyzlp()回复于 2005-10-10 10:32:02 得分 0

给我也发一份吧,急用呀.谢谢老大了.  
   
  我的email:fengbenyong@163.comTop

5 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-10-10 11:45:01 得分 0

use   UrlMkSetSessionOption   Function   and   INTERNET_OPTION_PROXY   flag  
  http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urlmksetsessionoption.aspTop

6 楼iyghost()回复于 2005-12-28 21:18:26 得分 0

To:   BlueSoftEye(紫衣侠隐)  
  谢谢!  
  我的E-Mail:hexin@mail.jtjc.cnTop

7 楼bluejing0(此名已被占用!)回复于 2005-12-28 22:26:48 得分 0

就算屏蔽了ctrl   alt   del   任务管理其还是会出来,。。。  
  郁闷Top

8 楼cf_journey(企必达网络)回复于 2006-03-02 16:57:19 得分 0

To:   BlueSoftEye(紫衣侠隐)  
  谢谢!  
  我的E-Mail:dweisoft@163.com  
  我现在也急需这部分代码,非常感谢.Top

9 楼VBer2(俗人)回复于 2006-03-13 15:07:26 得分 0

我的E-mail:wmab@163.com  
  谢谢Top

10 楼iyghost()回复于 2006-03-16 14:20:38 得分 0

To:   BlueSoftEye(紫衣侠隐)  
  谢谢!  
  我的E-Mail:5151web@gmail.com  
  我现在也急需这部分代码,非常感谢.Top

相关问题

  • 修改ie的代理服务器
  • 代理服务器
  • 代理服务器
  • 代理服务器
  • 代理服务器
  • 代理服务器
  • 如何enable/disable IE中"使用代理服务器"选项
  • 请问一下用CAsyncSocket可以写IE代理服务器吗?
  • 关于IE、代理服务器,在线送分
  • 动态改变IE代理服务器地址

关键词

  • 服务器
  • internet
  • fserver
  • sdarray
  • sproxy
  • 代理
  • fport
  • internetsetoption
  • pinfo
  • 程序

得分解答快速导航

  • 帖主:VBer2

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo