VC 设置代理IP

最近帮朋友做个小工具,设置代理IP。在这里和大家分享一下。设置代理IP其实很简单,就是修改IE设置,但我们不可以能每次都手动调整。修改注册表就可以搞定他。代理IP分局域网代理和单位网络代理。两个的注册表也不一样的。多的不说了,我贴代理,大家一看就知道了

 

void CProxyDlg::SetPorxy(CString str, int isproxy)
{

 CString ipstr = m_ipstr;
 HKEY hKEY;
 LPCTSTR data_Set="Software//Microsoft//Windows//CurrentVersion//Internet Settings";
 //访问注册表,hKEY则保存此函数所打开的键的句柄
 long ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,data_Set,0,KEY_WRITE,&hKEY));
 if(ret0!=ERROR_SUCCESS)      //如果无法打开hKEY,则中止程序的执行
 {
  AfxMessageBox("错误:无法打开有关的hKEY");
  return;
 }
 
 //打开局域网代理
 DWORD type = REG_DWORD ;     //定义数据类型 
 long ret1=::RegSetValueEx(hKEY, "ProxyEnable", NULL, type, (LPBYTE)(&isproxy), 4);
 if(ret1!=ERROR_SUCCESS)
 {
  AfxMessageBox("错误:无法设置有关的注册表信息");
  return;
 }
    
 LPBYTE owner_Set=CString_To_LPBYTE(str); //定义用户姓名 owner_Set
 type = REG_SZ ;        //定义数据类型
 int len = str.GetLength();   //定义数据长度
 
 ret1=::RegSetValueEx(hKEY, "ProxyServer", NULL, type, owner_Set, len);
 if(ret1!=ERROR_SUCCESS)
 {
  AfxMessageBox("错误:无法设置有关的注册表信息");
  return;
 }
 
 //单独网络上网
 data_Set="Software//Microsoft//Windows//CurrentVersion//Internet Settings//Connections";
 //访问注册表,hKEY则保存此函数所打开的键的句柄
 ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,data_Set,0,KEY_WRITE,&hKEY));
 if(ret0!=ERROR_SUCCESS)      //如果无法打开hKEY,则中止程序的执行
 {
  AfxMessageBox("错误:无法打开有关的hKEY");
  return;
 }
 
 type = REG_BINARY ;     //定义数据类型
 UCHAR szBuf[80] = {0};
 szBuf[0] = 0x3c;
 szBuf[4] = 0x09;
 if ( 1 == isproxy  )
 {
  szBuf[8] = 0x03;  //代理
 }else
 {
  szBuf[8] = 0x01;  //不代理
 }
 szBuf[12] = str.GetLength();
 for (int i = 0; i < len; i++ )
 {
  szBuf[i+ 16] = str[i] ;
 }
 
 CString local = "<local>";
 for (i = 0; i < 7; i++ )
 {
  szBuf[20 + str.GetLength() + i] = local[i];
 }

 ret1=::RegSetValueEx(hKEY, "宽带连接", NULL, type, (LPBYTE)(szBuf), 80);
 
 if(ret1!=ERROR_SUCCESS)
 {
  AfxMessageBox("错误:无法设置有关的注册表信息");
  return;
 }
 
 RegCloseKey(hKEY);
 
 InternetSetOption(NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);  //通知注册表中代理改变,下次连接时启动代理
 InternetSetOption(NULL ,INTERNET_OPTION_REFRESH , NULL, 0);    //从注册表中读入代理
}

 

 

http://download.csdn.net/source/2646323 可以下载这个小工具,有源代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值