IE 代理服务器设置程序实现
2014-08-07 14:47
369 查看
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 代理服务器设置程序实现
- IE 代理服务器设置程序实现
- IE 代理服务器设置程序实现
- IE 代理服务器设置程序实现
- IE 代理服务器设置程序实现
- 程序实现设置IE主页的功能
- C#自动设置IE代理服务器(翻墙软件)代码实现
- IE的安全设置中设成“启用,运行,下载activeX控件”程序控制的实现的原理
- C#设置当前程序通过IE代理服务器上网
- 程序实现设置IE主页的功能
- C#设置当前程序通过IE代理服务器上网
- [原创][代码]类似IE设置代理服务器那样的数据快速批量操作业务的实现
- IE5/IE6/IE7/IE8的代理服务器的设置与取消(C#.Net)实现
- C#设置当前程序通过IE代理服务器上网
- 编码实现ie代理服务器设置的控制
- [Delphi]用程序更改 IE 的代理服务器(Proxy)设置及本地连接
- IE 浏览器的代理服务器设置
- 【原创】在winform程序中实现在IE浏览器中打开一个新的页面,全屏化并屏蔽IE窗口的工具栏和地址栏
- 程序实现修改宏安全性设置-关于注册表的操作 (VBA)
- 如何编程动态改变IE的代理服务器设置, 并且使之马上生效!