首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于用vc实现修改ie代理的有关问题

2012-01-30 
关于用vc实现修改ie代理的问题现在需要通过一个文本框要别人输入代理地址127.0.0.1:80然后按确定按钮即可

关于用vc实现修改ie代理的问题
现在需要通过一个文本框要别人输入代理地址127.0.0.1:80   然后按确定按钮即可实现改变

void   CIeproxyDlg::OnButtonSet()  

{    
          UpdateData(FALSE);
          CString   str;
          this-> GetDlgItemText(IDPROXY,str);//获得用户输入的代理

          unsigned   long                 nSize   =   4096;
          char                                   szBuf[4096]   =   {   0   };
          INTERNET_PROXY_INFO*   pInfo   =   (INTERNET_PROXY_INFO*)szBuf;
          pInfo-> lpszProxy   =   str;
          if(!InternetSetOption(NULL,   INTERNET_OPTION_PROXY,   pInfo,   nSize))
          AfxMessageBox(_T( "设置代理失败 "));

}

老是设置失败   不知道为什么哦。。。

[解决办法]
你先看看你注册表中是不是有对应的健

你贴完整点的代码看看?
我这里是有那个键值的

===============
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"User Agent "= "Mozilla/4.0 (compatible; MSIE 6.0; Win32) "
"IE5_UA_Backup_Flag "= "5.0 "
"NoNetAutodial "=dword:00000000
"MigrateProxy "=dword:00000001
"EmailName "= "IEUser@ "
"AutoConfigProxy "= "wininet.dll "
"MimeExclusionListForCache "= "multipart/mixed multipart/x-mixed-replace multipart/x-byteranges "
"WarnOnPost "=hex:01,00,00,00
"UseSchannelDirectly "=hex:01,00,00,00
"EnableHttp1_1 "=dword:00000001
"PrivacyAdvanced "=dword:00000000
"EnableNegotiate "=dword:00000001
"ProxyEnable "=dword:00000001
"ProxyServer "= "10.137.66.13:3128 "
"EnableAutodial "=dword:00000000
"PrivDiscUiShown "=dword:00000001
"WarnOnZoneCrossing "=dword:00000000
"GlobalUserOffline "=dword:00000000
"MaxConnectionsPerServer "=dword:0000000a
[解决办法]

long ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,data_Set, 0, KEY_WRITE, &hKEY));
.....
long ret1=::RegQueryValueEx(hKEY, "ProxyServer ", NULL, &type_1, owner_Get, &cbData_1);
因为楼是用KEY_WRITE属性打开hKey的,所以RegQueryValueEx(hKey,...)会出错,建议楼主把KEY_WRITE 改为 KEY_WRITE|KEY_READ 试试

热点排行