您的位置:首页 > 编程语言 > C#

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

2009-02-17 13:33 621 查看
要实时更新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;


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: