就是用程序实现:
Internet属性-》连接-》局域网设置-》为LAN使用代理服务器
的设置。
要用程序实现不用代理与用代理的转换,以及在不同代理地址之间的转换。
最好能有脚本语言,能在cmd下执行的,这样可以写在bat文件中,用其他方法实现也可。
Internet属性-》连接-》局域网设置-》为LAN使用代理服务器
的设置。
要用程序实现不用代理与用代理的转换,以及在不同代理地址之间的转换。
最好能有脚本语言,能在cmd下执行的,这样可以写在bat文件中,用其他方法实现也可。
调试欢乐多
具体用法查msdn
Var
sProxy: string;
Pinfo: INTERNET_PROXY_INFO;
begin
sProxy:=Format('%s:%s',[FServer,IntToStr(FPort)]);
Pinfo.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
Pinfo.lpszProxy := pchar(sProxy);
SetReg;
InternetSetOption(nil, INTERNET_OPTION_PROXY, @Pinfo, SizeOf(PInfo));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
end;procedure SetReg(FServer:String;FPort:Integer);
Var
Reg:TRegistry;
sItem,sTmp:String; Function GetProxyRegString(sSrc,sSub:String):String;
Var
iTmp:Integer;
sDArray:DynamicArray_String;
Begin
Result:='';
IF Trim(sSrc)='' Then
Begin
Result:=sSub+'='+FServer+':'+IntToStr(FPort);
Exit
End; IF Pos(';',sSrc)=0 Then //对所有协议均使用相同的代理服务器
Begin
SetLength(sDArray,1);
sDArray[0]:=FServer+':'+IntToStr(FPort);
End
Else
Begin
sDArray:=Split(sSrc,';');
For iTmp:=Low(sDArray) To High(sDArray) Do
IF Pos(sSub,sDArray[iTmp])>0 Then
Begin
sDArray[iTmp]:=sSub+'='+FServer+':'+IntToStr(FPort);
Break;
End;
End; For iTmp:=Low(sDArray) To High(sDArray) Do
IF iTmp<High(sDArray) Then
Result:=Result+sDArray[iTmp]+';'
Else
Result:=Result+sDArray[iTmp];
end;
begin
Try
Reg:=TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
If Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then
begin
sItem:=Reg.ReadString('ProxyServer');
sTmp:=ProxyTypeToString(Self.ProxyType);
sTmp:=GetProxyRegString(sItem,sTmp);
Reg.Writestring('ProxyServer', sTmp);
Reg.WriteInteger('ProxyEnable', integer(UseProxy));
Reg.CloseKey;
end
Finally
Reg.Free;
End;
end;
有详细的代码,要可以留下Email
要啊
我的E-Mail:[email protected]
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urlmksetsessionoption.asp
谢谢!
我的E-Mail:[email protected]
郁闷
谢谢!
我的E-Mail:[email protected]
我现在也急需这部分代码,非常感谢.
谢谢
谢谢!
我的E-Mail:[email protected]
我现在也急需这部分代码,非常感谢.