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

 

本文其实.没有什么价值.写出来也是处于好玩.因为.最近闲的要命.所以总喜欢去些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代理 免费代理 代理服务器 快速的代理 上网代理 浏览器免费代理 代理服务器地址列表 代理服务器软件 代理IP 代理在线 Internet Explorer 免费代理 免费代理服务器 免费代理服务器地址 免费代理软件 代理IP 代理服务器设置 通过此软件可以方便的设置IE代理,并且可以搜索网上免费的代理服务器 1.应用代理 联网搜索可用代理,用户可以通过选择列表框中的某个代理后单击应用代理或直接双击列表框中的某一行设置代理 2.联网刷新 联网搜索可用代理,显示在列表框中。对于用户保存的代理会显示在列表最上方 联网刷新会与实际的网速相关,可能需要几秒至几十秒。若网速过慢,请耐心等待。 3.开启/关闭代理 软件开始运行时可自动检测是否已经使用代理,若已使用,则按钮为关闭代理。若没有使用代理,则显示开启代理。在设置代理后会在两种状态中切换 4.软件设置 快捷键为F12 4.1可以设置软件开机自启动 4.2使用某个代理后可以自动测试代理是否可用。此选项与测试的代理速度有关,当代理不可用或速度过慢的时候可能需要几十秒,一般几秒即可。可以在右方按提示输入测试网址。默认为www.baidu.com 4.3对于使用锐捷认证的用户可以选择启动后启动锐捷,不过需要选择锐捷的安装目录。O(∩_∩)O~其实可以在这里选择任意软件跟随IEProxy启动,这要选择了正确的路径,不过不要选择本软件的地址,否则会进入死循环,桌面蹦出几十个IEProxy窗口(*^__^*) 嘻嘻…… 4.4自动判断锐捷获得IP是否正确,由于时间关系,暂时没有完成 4.5软件更新,可联系到作者csdn主页,下载最新版 5.增加新代理 输入代理地址和端口,并进行相应选择后,新增代理。可以选择长久保存代理复选框。也可以通过点击清空保存按钮清空保存的所有的代理。 6.软件相关 快捷键为F1 可以查看软件更新内容和作者的相关信息 软件相关信息 花两天多一点的时间写出来的一个小的搜寻代理程序,有点粗糙,会继续更新 只不过这一段时间会比较忙,软件更新暂时到此为止,除了设置对话框中屏蔽掉的一个功能,最初规划的功能还有一些没实现,界面也没怎么弄,两个月后接着更新,谢谢关注!有比较好的建议欢迎留言或Email ver 4.0 Beta 1.增加软件设置功能具体设置有: 1.1开机自启动 1.2选择代理后自动判断是否可用 1.3开机后自启动锐捷 1.4启动锐捷后判断IP是否正确 1.5软件更新 2.更改设置界面Tab键的顺序 3.更改主界面Tab键的顺序 4.修改设置界面中static控件覆盖 5.增加对F1键到相关的响应 6.增加对F2键到设置响应 7.完善了控件对回车的响应,包括设置 Dialog和about Dialog中的控件 8.修改设置后判断代理是否可用提示错误 9.增加密码编辑框Password属性 10.修改置顶复选框的问题 11.修改连续刷新造成的代理重复问题 12.增加了测试网站不用输入类型的功能,增加了输入提示,连接失败提示框加入测试网址可能错误的提示 13.完善了右击托盘图标的设置功能 ver 3.0 Beta 1.增加初始化时显示上次的代理列表功能 2.完善长期保存功能 3.增加清空保存功能 4.增加初始化时读取保存的代理功能 5.修改置顶功能在重置时的错误响应 6.修改static控件覆盖 ver 2.3 Beta 1.增加了所有控件对回车键的响应 2.增加置顶功能 3.更改所有控件Tab顺序 4.修改了按钮内容提示不太准确问题 ver 2.2 Beta 1.增减双击直接设置功能 2.增加最小化到托盘功能 3.修改关于信息 ver 2.0 Beta 1.增加动态更新功能 2.增加 手动增加代理功能 3.更换图标 4.去掉数据库存储 下载地址:http://download.csdn.net/user/Lethe1989 个人主页:http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Fl:trinea@yahoo.cn 欢迎提供建议,谢谢O(∩_∩)O~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值