VC编程 设置IE浏览器代理(不需重启浏览器)



  参考      :http://www.codeproject.com/Articles/3651/Change-Internet-Proxy-settings?display=Print

http://support.microsoft.com/kb/226473/en-us


           每次手动设置IE浏览器的代理相当麻烦,于是查阅相关资料,写了个建议设置IE代理的小程序。

   编译环境VS2010


           主要代码如下:

           设置代理:

              

//设置代理;
void CIEProxySetDlg::OnBnClickedSetproxy()
{
	// TODO: 在此添加控件通知处理程序代码
	char *buff; //sava m_strProxy
	UpdateData(TRUE);
	//MessageBox(m_strProxy);
	INTERNET_PER_CONN_OPTION_LIST list;
	INTERNET_PER_CONN_OPTION Option[3];
	unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
	buff = new char[256];
	buff = m_strProxy.GetBuffer(m_strProxy.GetLength());
	m_strProxy.ReleaseBuffer();
	Option[0].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
	Option[0].Value.pszValue = buff;

	// This option sets all the possible connection types for the client. 
	// This case specifies that the proxy can be used or direct connection is possible.
	Option[1].dwOption = INTERNET_PER_CONN_FLAGS;
	Option[1].Value.dwValue = PROXY_TYPE_PROXY | PROXY_TYPE_DIRECT;

	Option[2].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
	Option[2].Value.pszValue = "local";
	//fill the list struct
	list.dwSize = nSize;
	list.pszConnection = NULL;
	list.dwOptionCount = 3;
	list.dwOptionError = 0;
	list.pOptions = Option;

	if(!InternetSetOption(NULL,INTERNET_OPTION_PER_CONNECTION_OPTION,&list,nSize))
		MessageBox("InternetSetOption failed!");
	//The connection settings for other instances of Internet Explorer. 
	InternetSetOption(NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
	InternetSetOption(NULL, INTERNET_OPTION_REFRESH , NULL, 0);
	MessageBox("代理设置成功");
	//free(buff);
}
取消代理:

   

//取消代理;
void CIEProxySetDlg::OnBnClickedSetno()
{
	// TODO: 在此添加控件通知处理程序代码;
	INTERNET_PER_CONN_OPTION_LIST list;
	INTERNET_PER_CONN_OPTION Option[1];
	unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);

	Option[0].dwOption = INTERNET_PER_CONN_FLAGS;
	Option[0].Value.dwValue = PROXY_TYPE_DIRECT;

	list.dwSize = nSize;
	list.pszConnection = NULL;
	list.dwOptionCount = 1;
	list.dwOptionError = NULL;
	list.pOptions = Option;

	if(!InternetSetOption(NULL,INTERNET_OPTION_PER_CONNECTION_OPTION,&list,nSize))
		MessageBox("InternetSetOption failed!");
	//The connection settings for other instances of Internet Explorer. 
	InternetSetOption(NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
	InternetSetOption(NULL, INTERNET_OPTION_REFRESH , NULL, 0);
	MessageBox("已取消代理设置");
}

     本着“画蛇添足”的精神,有加了个皮肤,如下:




     


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值