为网络程序添加代理设置

一、相关结构体与API: 
  1. typedef struct {  
  2.   DWORD dwAccessType;  
  3.   LPCTSTR lpszProxy;  
  4.   LPCTSTR lpszProxyBypass;  
  5. } INTERNET_PROXY_INFO, *LPINTERNET_PROXY_INFO;  

  1. HRESULT UrlMkSetSessionOption(  
  2.   DWORD dwOption,  
  3.   LPVOID pBuffer,  
  4.   DWORD dwBufferLength,  
  5.   DWORD dwReserved  
  6. );  

二、VC源码说明

1、新建一个对话框工程,并添加如下控件、关联变量:

Member 

2、部分源码及说明:

  1. void CProxyDlg::OnButtonSet()   
  2. {  
  3.     // TODO: Add your control notification handler code here  
  4.     UpdateData(TRUE);  
  5.     if(m_IP.IsEmpty() || m_Port.IsEmpty())  
  6.     {  
  7.         MessageBox("IP地址或端口不能为空!","提示",MB_ICONERROR | MB_OK);  
  8.         GetDlgItem(IDC_EDIT1)->SetFocus();  
  9.     }  
  10.   
  11.     // lpszProxy格式为“192.168.1.1:8080”  
  12.     m_IP = m_IP + ":" + m_Port;  
  13.   
  14.     INTERNET_PROXY_INFO proxy;  
  15.     proxy.dwAccessType = INTERNET_OPEN_TYPE_PROXY;  
  16.     proxy.lpszProxy = m_IP;  
  17.     proxy.lpszProxyBypass = NULL;  
  18.   
  19.     HRESULT hr = ::UrlMkSetSessionOption(INTERNET_OPTION_PROXY,&proxy,sizeof(proxy),0);  
  20.     if(S_OK == hr)  
  21.     {  
  22.         SetDlgItemText(IDC_STAT,"代理设置完成!");  
  23.         return;  
  24.     }  
  25.     if(E_INVALIDARG == hr)  
  26.     {  
  27.         SetDlgItemText(IDC_STAT,"代理参数错误!");  
  28.         return;  
  29.     }  
  30.     MessageBox("设置失败!");  
  31. }  
  32.   
  33. void CProxyDlg::OnButtonUpdate()   
  34. {  
  35.     // TODO: Add your control notification handler code here  
  36.     m_Web.Navigate("http://www.ip138.com",NULL,NULL,NULL,NULL);  
  37. }  
  

3、程序运行效果:

Result 

在  Process Explorer中查看属性:

ProceXP

 

三、源码下载:

      VC6工程: http://download.csdn.net/source/1655998

      免费代理: http://www.pass-e.com/proxy/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值