请问如何在程序中得到IE设置的代理服务器的地址和端口

xqchang 2003-04-11 05:21:00
谢谢
...全文
869 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nibani 2003-04-16
  • 打赏
  • 举报
回复
masterz(MS MVP)
谢谢你的回答。
但你的程序好象没有找到哪个是默认的连接,只是枚举了所有的连接名字。
还多了系统中的一些原有的连接名字。
不过我现在已经找到了一个办法来判断。
谢谢你的关注!
DavidBone 2003-04-14
  • 打赏
  • 举报
回复
ding
masterz 2003-04-14
  • 打赏
  • 举报
回复
HWND hcombo;
GetDlgItem(IDCB_CONNECTIONS,&hcombo);
CComboBox cmb;
cmb.Attach(hcombo);
HKEY hk;
const TCHAR* keyname3=_T("software\\Microsoft\\windows\\currentversion\\Internet Settings\\Connections");
LONG lret=RegOpenKeyEx(HKEY_CURRENT_USER,keyname3,NULL,
KEY_READ|KEY_WRITE|KEY_SET_VALUE|KEY_ENUMERATE_SUB_KEYS,&hk);
if(lret==ERROR_SUCCESS&&NULL!=hk)
{
LONG enum_ret=0;
DWORD index=0;
do
{
TCHAR valuename[256];
DWORD value_len=sizeof(valuename);
valuename[0]=0;
TCHAR databuf[256];
databuf[0]=0;
DWORD databuf_len=sizeof(databuf);
DWORD type;
enum_ret = RegEnumValue(hk,index,valuename,&value_len,NULL,&type,(LPBYTE)databuf,&databuf_len);
// enum_ret=RegEnumKey(hk,index,keyname,buflen);
if(ERROR_SUCCESS==enum_ret&&_tcslen(valuename)>0&&type==REG_BINARY)
{
cmb.AddString(valuename);
}
index++;
}
while(enum_ret==ERROR_SUCCESS);
if(enum_ret!=ERROR_NO_MORE_ITEMS)
{
LPVOID lpMsgBuf;
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
enum_ret,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
// Handle the error.
}

// Process any inserts in lpMsgBuf.
// ...

// Display the string.
::MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );

// Free the buffer.
LocalFree( lpMsgBuf );
}
RegCloseKey(hk);
}
else
{
std::ostringstream oss;
oss<<__FILE__<<":"<<__LINE__<<" open HKEY_CURRENT_USER\\"<<keyname3<<" error";
OutputDebugString(oss.str().c_str());
}
if(cmb.GetCount()>0)
cmb.SetCurSel(0);
cmb.Detach();
nibani 2003-04-13
  • 打赏
  • 举报
回复
masterz(MS MVP) 大侠:
这段代码我看过了。
但还是有一个问题没法解决。
我如何确定当前是通过LAN或者是拨号连接的Internet呢?
而且对于多个拨号连接,我怎么才能知道是哪个拨号连接是默认的呢?

masterz 2003-04-13
  • 打赏
  • 举报
回复
http://www.codeproject.com/internet/changeproxy1.asp
nibani 2003-04-13
  • 打赏
  • 举报
回复
JennyVenus() ,想请教怎么设置IE的代理服务器。
即无论是拨号上网还是局域网方式,都能将IE的代理服务器设置为我想要的值。
关键在于,我必须通过程序知道目前是通过拨号的方式还是局域网的方式伤亡。
如果是拨号,还必须知道拨号所用的internet连接的名字。
如果有回答,我会另外开贴给分。
谢谢!

用户 昵称 2003-04-13
  • 打赏
  • 举报
回复
读注册表
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyServer"="210.160.121.194:80"
xqchang 2003-04-12
  • 打赏
  • 举报
回复
高手快来,帮个忙,谢谢!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧