改注册表的Proxy值,所有的Ie设定都在注册表里,这是我在一个VCL中看到的.

解决方案 »

  1.   

    你先看看注册表吧!嘻嘻 HEK_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    ProxyServer = "代理服务器的IP地址"
      

  2.   

    但我试过了,好像不能即时生效。
    (用REGEDIT修改试的,但这跟用DELPHI应该一样吧。)顺便问一下,Sayhigh, 那个VCL是什么地方搞来的?
      

  3.   

    你用下面的语句试试:
    SendMessage(HWND_BROADCAST ,WM_SETTINGCHANGE ,NULL,NULL)
    或者参考帮助.
      

  4.   

        按微软的惯例,IE做为自动服务器(ActiveX Automation)应该是揭示了相应的属性或方法的。你可以找找看,通过操纵相应的属性应该是即时生效的。
      

  5.   

    playpcgame,我试过了,这个方法没有用。
      

  6.   

    Sysinfo2000的控件集源码揭示了垃圾Windows的所有设置在注册表中的位置,
    包括TCP设置,IDE设置等,用此方法动态设置DNS有效
      

  7.   

    Sysinfo2000的控件集源码那里才找到呢?
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyReg:TRegistry;
    begin
      MyReg:=TRegistry.Create;
      try
        if Myreg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then
        begin
          MyReg.WriteBool('ProxyEnable',True);      //TRUE为有效啦
          MyReg.WriteString('ProxyServer','17.40.23.18:80');  //ftp=192.168.0.1:81;gopher=192.168.0.1:81;http=192.168.0.1:81;https=192.168.0.1:81
        end;
      finally
        MyReg.Free;
      end;
    end;
      

  9.   

    对了,设置后你只要新打开一个IE窗口,所有的已经打开的IE都会生效。
      

  10.   

    To Andymei:
      刷新一下即可!搜索“刷新系统“,你会找到答案的。实在不行,给我写信。
      

  11.   

    干脆在程序中调用'RunDLL32.exe Shell32.dll,Control_RunDLL InetCpl.cpl,,3',可以通过WinExec或CreateProcess调用,这样,可以由系统保证兼容性