IE5/IE6/IE7/IE8的代理服务器的设置与取消(C#.Net)实现

要实时更新IE所有实例需调用如下API:

[DllImport( " wininet.dll " , SetLastError  =   true )]
        
private   static   extern   bool  InternetSetOption(IntPtr hInternet,  int  dwOption, IntPtr lpBuffer,  int  lpdwBufferLength);

 

然后刷新IE设置:

private   static   void  RefreshIESettings()
        {
            
const   int  INTERNET_OPTION_REFRESH  =   0x000025 ;
            
const   int  INTERNET_OPTION_SETTINGS_CHANGED  =   0x000027 ;
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 
0 );
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 
0 );
        }

 

最后写IE在注册表中的设置即可:

 

public   static   void  SetIEProxy(Proxy proxy)
        
{
            
string proxyIP = "";
            proxyIP
=string.Format("{0}:{1}", proxy.ProxyAddr, proxy.ProxyPort);
            RegistryKey rk 
= Registry.CurrentUser.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Internet Settings"true);
            rk.SetValue(
"ProxyEnable"1);
            rk.SetValue(
"ProxyServer", proxyIP);
            rk.Close();
            RefreshIESettings();
        }


        
public   static   void  CancelIEProxy()
        
{
            RegistryKey rk 
= Registry.CurrentUser.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Internet Settings",true);
            rk.SetValue(
"ProxyEnable"0);
            rk.Close();
            RefreshIESettings();
        }


public   class  Proxy
    
{
        
private string proxyName;
        
private string proxyAddr;
        
private int port;

        
public Proxy(string name, string addr, int port)
        
{
            
this.proxyName = name;
            
this.proxyAddr = addr;
            
this.port = port;
        }


        
public string ProxyName get return proxyName; } }
        
public string ProxyAddr get return proxyAddr; } }
        
public int ProxyPort get return port; } }

        
public override string ToString()
        
{
            
return proxyName;
        }

    }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值