因为最近闲的要命.所以总喜欢去些BB S聊天室之类的地方打发时间可是.突然发现这些地方总是喜欢记录IP真是麻烦.别人一跟踪马上就查出你的位置.实在是不爽.所以.就只好设置代理服务器.IE的设置是带这个功能的.所以很简单.只要设置就可以了.不过,实在觉得.那样太简单了.所以就想自己做一个程序实现.
可是没什么眉目.不过突然想到腾讯的浏览器也有类似功能.可是.整个程序才916K,所以不用说肯定是有动态连接库的协助的.既然如此.那么只用导出来看看就知道了.于是.使用dumpbin这个PE工具Imports一下就全明白了象其他程序一样.通常USER32,Kernel32.GDI32. . . .这些都不是今天的主角.Wininet.Dll才是今天的主角.这里导出了.三个函数.其中Interne tse tOptio n才是关键因素.在MS DN中很快查到了.所以一切都很顺利.该函数的重点参数在第二个参数上面dwO pt ion.所以继续参考MSDN就知道了INTERNET_OPTION_PROXY和
INTERN ET_OP TION_SETTINGS_CHANGED.第一个看名字也知道是设置代理.第二个是负责切换设置的.OK有了这些是否就OK了呢.是的基本OK不过不要忘记了这样做必须重启IE.因为IE也是依赖注册表地.所以去注册表找找.很快就明了.HKEY_CURRENT_USER\So ftware\M icrosoft\Windows\C urrentVers io n\InternetS ettings几乎谁都知道的Interne t设置键.没什么可说的.知道了这些下面程序来实现就简单了.因为根本没什么技术.只是调用API和写注册表.
首先用Delphi来实现.delphi实现很简单.因为delphi的单元WinInet中就封装了该API调用的所有文档所以就简单多了.首先做一级面向对象的封装.一个对象TsetProxy,然后定义两个数据分别是代理主机和代理端口.然后一个负责调用的函数.unit Unit 1;interfac euses
Registry,WinInettype
TS etProxy=classp r ivate
{Private declarations }procedure SetRe g(FMProxy:string);pub lic
{Public declarations }
Proxy: str ing;port:string;constructor Create(Proxy,P ort:string);procedure S etProxy();
// procedure S etProxy(const fProxy,fPort:string);end;imp le mentatio n
//实际设置代理
procedure TSetProxy.S etProxy;var FProxy:string;
Pinfo:INTERNET_PROXY_INFO;begin
FProxy:=Format('%s:%s',[s elf.Proxy,self.port]);
Pinfo.dwAccessT=ype :=INTERNET_OPEN_TYPE_PROXY;
Pinfo.lps zPro xy: p char(proxy);
InternetSetOption(nil, IN TERNET_OPTION_PROXY,@Pinfo,SizeO f(PInfo));Internet S etOptio n(nil, INTERNET_O PTION_SETTINGS_CHANGED,nil,0);self.SetReg(FProxy);end;
//SetRe g负责读写注册表procedure TSetProxy.SetReg(FMProxy:string);varreg:Tregistry;begi=nreg: T re gis try.C re ate;tryreg.RootKey:=H'KEY_CURRENT_USER;i'f reg.Op enKey(\Software\Microso ft\Win dows\CurrentVersion\InternetSettings,True) thenbeginreg.Write str ing('P'r oxyS e rve r',F'Mp roxy);reg.WriteInte ge r(ProxyEnab le, integer(true));endfin allyreg.C loseKey;re g.fre e;end;end;constructor TSetPro xy.Create(Proxy,P ort:string);beginself.Pr ox=y:=Proxy;self.port: Port;end;end.
VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...
licloud怎么样?licloud目前提供香港cmi服务器及香港CN2+BGP服务器/E3-1230v2/16GB内存/240GB SSD硬盘/不限流量/30Mbps带宽,$39.99/月。licloud 成立於2021年,是香港LiCloud Limited(CR No.3013909)旗下的品牌,主要提供香港kvm vps,分为精简网络和高级网络A、高级网络B,现在精简网络和高级网络A。现在...
virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...