http://www.cnblogs.com/bistoury/archive/2010/09/20/1832084.html

delphi 设置代理

 

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;

Posted on 2010-09-20 21:40 我从山中来 阅读(234) 评论(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);