IE 代理服务器设置程序实现

分类: Delphi2003-08-02 18:42 1398人阅读 评论(0) 收藏 举报
服务器ieinternetstringconstructordelphi

本文其实.没有什么价值.写出来也是处于好玩.因为.最近闲的要命.所以总喜欢去些BBS聊天室之类的地方打发时间可是.突然发现这些地方总是喜欢记录IP真是麻烦.别人一跟踪马上就查出你的位置.实在是不爽.所以.就只好设置代理服务器.IE的设置是带这个功能的.所以很简单.只要设置就可以了.不过,实在觉得.那样太简单了.所以就想自己做一个程序实现.可是没什么眉目.不过突然想到腾讯的浏览器也有类似功能.可是.整个程序才916K,所以不用说肯定是有动态连接库的协助的.既然如此.那么只用导出来看看就知道了.于是.使用dumpbin这个PE工具Imports一下就全明白了象其他程序一样.通常USER32,Kernel32.GDI32....这些都不是今天的主角.Wininet.Dll才是今天的主角.这里导出了.三个函数.其中InternetsetOption才是关键因素.在MSDN中很快查到了.所以一切都很顺利.该函数的重点参数在第二个参数上面dwOption.所以继续参考MSDN就知道了INTERNET_OPTION_PROXY和INTERNET_OPTION_SETTINGS_CHANGED.第一个看名字也知道是设置代理.第二个是负责切换设置的.OK有了这些是否就OK了呢.是的基本OK不过不要忘记了这样做必须重启IE.因为IE也是依赖注册表地.所以去注册表找找.很快就明白了.HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings几乎谁都知道的Internet设置键.没什么可说的.知道了这些下面程序来实现就简单了.因为根本没什么技术.只是调用API和写注册表.
首先用Delphi来实现.delphi实现很简单.因为delphi的单元WinInet中就封装了该API调用的所有文档所以就简单多了.首先做一级面向对象的封装.一个对象TsetProxy,然后定义两个数据分别是代理主机和代理端口.然后一个负责调用的函数.代码如下:
unit Unit1;

interface

uses
   Registry,WinInet
type
  TSetProxy=class
   private
    { Private declarations }
    procedure SetReg(FMProxy:string);
  public
    { Public declarations }
    Proxy: string;
    port:string;
    constructor Create(Proxy,Port:string);
    procedure SetProxy();
//    procedure SetProxy(const fProxy,fPort: string);
end;
implementation
//实际设置代理
procedure TSetProxy.SetProxy;
var FProxy: string;
    Pinfo: INTERNET_PROXY_INFO;
begin
FProxy:=Format('%s:%s',[self.Proxy,self.port]);
Pinfo.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
Pinfo.lpszProxy := pchar(proxy);
InternetSetOption(nil, INTERNET_OPTION_PROXY, @Pinfo, SizeOf(PInfo));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
self.SetReg(FProxy);
end;

//SetReg负责读写注册表
procedure TSetProxy.SetReg(FMProxy:string);
var
reg: Tregistry;
begin
reg:=Tregistry.Create;
  try
    reg.RootKey := HKEY_CURRENT_USER;
    if reg.OpenKey('/Software/Microsoft/Windows/CurrentVersion/Internet Settings', True) then
    begin
      reg.Writestring('ProxyServer', FMproxy);
      reg.WriteInteger('ProxyEnable', integer(true));
    end
  finally
    reg.CloseKey;
    reg.free;
  end;
end;
constructor TSetProxy.Create(Proxy,Port:string);
begin
self.Proxy:=Proxy;
self.port:=Port;
end;

end.

测试运行都恨正常.

IE 代理服务器设置程序实现相关推荐

  1. ubuntu等linux下自定义设置程序代理工具proxychains简介

    在linux下,有时候我们想给一个程序设置代理,但是程序自身却不具备设置代理的配置选项,这时候并不是无法给程序设置代理,今天奶牛为大家推荐一款比较实用的linux下的自定义设置程序代理的工具proxy ...

  2. cef3 proxy Google Chrome command line 命令行代理服务器设置 禁用代理例外

    由于我们今天已经审查了足够的Google Chrome浏览器扩展程序,现在是时候谈谈Chrome的代理设置了.您知道Google Chrome使用Internet Explorer的代理服务器设置吗? ...

  3. 代理服务器的理解(1):Windows环境下的代理服务器设置

    浏览器中的代理服务器设置 Windows系统接口提供的代理服务器设置是一个全局的代理服务器的设置,如图所示,这里就不多解释: 各个浏览器在使用代理设置的时候,可以主动地获取代理设置亦或是不使用该代理设 ...

  4. STM32-RCC内部总线时钟设置程序详讲

    文章目录 RCC介绍 回顾时钟复位和电源管理文章 时钟树详解 rcc程序详解以及涉及到的固件库函数 杨桃32学习笔记,本文图片文字皆为转述 RCC介绍 RCC时钟复位和设置功能的缩写,它可以设置单片机 ...

  5. c语言设置程序自动执行,c语言如何设置程序进程执行优先权

    c语言如何设置程序进程执行优先权 使用setpriority()函数设置程序进程执行优先权: 头文件: #include#include 定义函数: int setpriority(int which ...

  6. Centos设置程序开机自启的方法

    [转]CentOS设置程序开机自启动的方法 转自:http://www.centos.bz/2011/09/centos-setup-process-startup-boot/ 在CentOS系统下, ...

  7. Qt for ios 设置程序图标(logo)和启动页(splash)

    前言 Qt开发ios程序,要面临的一个问题就是设置程序图标和启动页的问题,作为一个跨平台开发者,对原生开发本身就不太熟悉,即便是这种小功能也可能会成为阻碍,没办法, 只能硬着头皮上咯. 要设置ios的 ...

  8. 计算机中cmos设置程序,电脑主板上有CMOS设置是什么意思

    CMOSComplementaryMetalOxideSemiconductor指互补金属氧化物(PMOS管和NMOS管)共同构成的互补型MOS集成电路制造工艺,它的特点是低功耗.由于CMOS中一对M ...

  9. 用双网卡做代理服务器设置具体步骤

    http://publish.it168.com/2006/0520/20060520000701.shtml 用双网卡做代理服务器设置具体步骤 责任编辑:服务器学院02作者:网络 佚名   2006 ...

  10. 电脑无internet访问_电脑中的代理服务器怎么设置 代理服务器设置方法 - 操作系统...

    如何设置电脑中的代理服务器?对于代理服务器,可能大家对其并不是非常了解,其实代理服务器作为一种特殊的网络服务,可以代理网络用户去获取网络信息,提高浏览速度与效率,而且还可以突破自身IP的访问限制,访问 ...

最新文章

  1. C++ 对象的内存布局(上)
  2. Tomcat(三):tomcat处理连接的详细过程
  3. PCL中的OpenNI点云获取框架(OpenNI Grabber Framework in PCL)
  4. 400多家单位、30余万科研人员,10多年奋斗!北斗卫星核心器件实现100%国产!(附:北斗研发建设历程​)...
  5. java实现的18位×××格式验证算法
  6. HTTP系列之:HTTP缓存
  7. IDOC generation debug for One Order
  8. 关于“数据中心”的最强入门科普
  9. 走向ASP.NET架构设计--第一章:走向设计
  10. 程序员资源系列(不断完善中)
  11. 快速配置Maven到OSChina中央库的教程
  12. [转载] Python:Numpy详解
  13. MyBatis Generator(MBG)设计哲学与致歉
  14. ScrollDown的基本操作
  15. XJOI一级题库所有题解(传送门)
  16. 小米平板 计算机 连接打印机,小米米家喷墨打印机:打印方式介绍
  17. 相关系数(Correlation)
  18. 程序员理想的工作环境应该是怎样的?
  19. android好用的NFC软件,5个有用的NFC应用程序为Android,以利于NFC | MOS86
  20. win10企业版 LTSC 安装 MSIX(msixbundle) 文件

热门文章

  1. 最详细、最全面的【Java日志框架】介绍,建议收藏,包含JUL、log4j、logback、log4j2等所有主流框架
  2. 『Python基础练习题』day04
  3. openstack neutron网络插件学习(二)【linux-bridge实现】
  4. 电脑重装系统之后MySQl如何恢复
  5. 计算机专业法语怎么读,计算机专业法语词汇
  6. 网格布局---grid
  7. 用群晖服务器搭建网站
  8. 理解VML||MKL
  9. Java根据模板生成PDF文件|添加盖章|添加水印
  10. android 功能防抖,Android RxJava 实战系列:功能防抖