日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

IE 代理服務(wù)器設(shè)置程序?qū)崿F(xiàn)

因為最近閑的要命.所以總喜歡去些BBS聊天室之類的地方打發(fā)時間可是.突然發(fā)現(xiàn)這些地方總是喜歡記錄IP真是麻煩.別人一跟蹤馬上就查出你的位置.實在是不爽.所以.就只好設(shè)置代理服務(wù)器.IE的設(shè)置是帶這個功能的.所以很簡單.只要設(shè)置就可以了.不過,實在覺得.那樣太簡單了.所以就想自己做一個程序?qū)崿F(xiàn) 。
可是沒什么眉目.不過突然想到騰訊的瀏覽器也有類似功能.可是.整個程序才916K,所以不用說肯定是有動態(tài)連接庫的協(xié)助的.既然如此.那么只用導(dǎo)出來看看就知道了.于是.使用dumpbin這個PE工具Imports一下就全明白了象其他程序一樣.通常USER32,Kernel32.GDI32....這些都不是今天的主角.Wininet.Dll才是今天的主角.這里導(dǎo)出了.三個函數(shù).其中InternetsetOption才是關(guān)鍵因素.在MSDN中很快查到了.所以一切都很順利.該函數(shù)的重點參數(shù)在第二個參數(shù)上面dwOption.所以繼續(xù)參考MSDN就知道了 。
INTERNET_OPTION_PROXY和INTERNET_OPTION_SETTINGS_CHANGED.第一個看名字也知道是設(shè)置代理.第二個是負責(zé)切換設(shè)置的.OK有了這些是否就OK了呢.是的基本OK不過不要忘記了這樣做必須重啟IE.因為IE也是依賴注冊表地.所以去注冊表找找.很快就明了.HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings幾乎誰都知道的Internet設(shè)置鍵.沒什么可說的.知道了這些下面程序來實現(xiàn)就簡單了.因為根本沒什么技術(shù).只是調(diào)用API和寫注冊表 。
首先用Delphi來實現(xiàn).delphi實現(xiàn)很簡單.因為delphi的單元WinInet中就封裝了該API調(diào)用的所有文檔所以就簡單多了.首先做一級面向?qū)ο蟮姆庋b.一個對象TsetProxy,然后定義兩個數(shù)據(jù)分別是代理主機和代理端口.然后一個負責(zé)調(diào)用的函數(shù) 。
代碼如下:
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【IE 代理服務(wù)器設(shè)置程序?qū)崿F(xiàn)】marqueesHeight=18;stopscroll=false;icefable1.scrollTop=0;with(icefable1){style.width=0;style.height=marqueesHeight;style.overflowX="visible";style.overflowY="hidden";noWrap=true;onmouseover=new Function("stopscroll=true");onmouseout=new Function("stopscroll=false");}preTop=0; currentTop=0; stoptime=0;function init_srolltext(){icefable2.innerHTML="";icefable2.innerHTML =icefable1.innerHTML;icefable1.innerHTML=icefable2.innerHTML icefable2.innerHTML;setInterval("scrollUp()",50);}function scrollUp(){if(stopscroll==true) return;currentTop =1;if(currentTop==19){stoptime =1;currentTop-=1;if(stoptime==50){currentTop=0;stoptime=0;}}else {preTop=icefable1.scrollTop;icefable1.scrollTop =1;if(preTop==icefable1.scrollTop){icefable1.scrollTop=icefable2.offsetHeight-marqueesHeight;icefable1.scrollTop =1;}}}init_srolltext();//實際設(shè)置代理
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負責(zé)讀寫注冊表
procedure TSetProxy.SetReg(FMProxy:string);
var
reg: Tregistry;
begin
reg:=Tregistry.Create;
; try
;reg.RootKey := HKEY_CURRENT_USER;
;if reg.OpenKey("SoftwareMicrosoftWindowsCurrentVersionInternet Settings", True) then
;begin
;;;reg.Writestring("ProxyServer", FMproxy);

推薦閱讀