代码
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);