我从山中来

我是网络一看客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

delphi 设置代理

Posted on 2010-09-20 21:40  我从山中来  阅读(561)  评论(0编辑  收藏  举报

 

 

代码
procedure TMainform.ChangeProxy(Addr: string; Bypass, Enabled: Boolean);
var
Info: INTERNET_PROXY_INFO;
Reg : TRegistry;
begin
Reg :
= TRegistry.Create;
try
Reg.RootKey :
= HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', False) then
begin
Reg.WriteString(
'ProxyServer', Addr);
Reg.WriteInteger(
'ProxyEnable', Integer(Enabled));

if Bypass then
Reg.WriteString(
'ProxyOverride', '<local>')
else
Reg.DeleteValue(
'ProxyOverride');
end;
finally
Reg.CloseKey;
Reg.Free;
end;

if (Enabled) then
Info.dwAccessType :
= INTERNET_OPEN_TYPE_PROXY
else
Info.dwAccessType :
= INTERNET_OPEN_TYPE_DIRECT;
Info.lpszProxy :
= PChar(Addr);
InternetSetOption(
nil, INTERNET_OPTION_PROXY, @Info, SizeOf(Info));
InternetSetOption(
nil, INTERNET_OPTION_REFRESH, nil, 0);
InternetSetOption(
nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
end;

 

 

 

//不启用代理
ChangeProxy(
':',False,False);

 

 

 

//启用代理
ChangeProxy(
'127.0.0.1:'+IntToStr(idhtpsrvr1.DefaultPort),True,True);