HELP:用Delphi动态修改ie属性(100分)

  • 主题发起人 主题发起人 coki
  • 开始时间 开始时间
C

coki

Unregistered / Unconfirmed
GUEST, unregistred user!
我最近写了一个小程序,是在ie的toolsbar上加了个按钮,由此来控制是否通过代理服务器上网。
是通过修改注册表来实现的。但是每次打开或关闭代理服务器后一定要重新启动ie才能够生效。
请哪位指点一下怎样才能够使改动立即生效。
 
转帖,修改代理,立即生效:

function TfrmMain.ChangeProxy(const Proxy, Port,ByPass: string; const bEnabled: boolean = True): boolean;
var
reg: Tregistry;
info: INTERNET_PROXY_INFO;
Fproxy:string;
begin
Result := False;
FProxy:=Format('%s:%s',[Proxy,Port]);
reg := Tregistry.Create;
try
reg.RootKey := HKEY_CURRENT_USER;
if reg.OpenKey('/Software/Microsoft/Windows/CurrentVersion/Internet Settings', True) then
begin
reg.Writestring('ProxyServer', Fproxy);
reg.WriteInteger('ProxyEnable', integer(bEnabled));
info.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
info.lpszProxy := pchar(proxy);
info.lpszProxyBypass := pchar(ByPass);
InternetSetOption(nil, INTERNET_OPTION_PROXY, @info, SizeOf(Info));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
//InternetSetOption(nil, INTERNET_OPTION_REFRESH, nil, 0);
//Sendmessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
Result:=True;
end
finally
reg.CloseKey;
reg.free;
end;
end;
 
InternetSetOption使自己定义的函数?
 
uses WinInet;
 
我也正好搞明白,谢谢了!
 
后退
顶部