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

本文介绍了一种通过调用特定API来实时更新IE浏览器代理设置的方法,并提供了设置及取消代理的具体实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要实时更新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、付费专栏及课程。

余额充值