2

我正在创建一个 Win32 应用程序,它将更改代理设置。我按照这篇文章如何以编程方式在 Internet Explorer 下查询和设置代理设置

在尝试此代码段时:

unsigned long        nSize = 4096;
char                 szBuf[4096] = { 0 };
INTERNET_PROXY_INFO* pInfo = (INTERNET_PROXY_INFO*)szBuf;
if(!InternetQueryOption(NULL, INTERNET_OPTION_PROXY, pInfo, &nSize))
   printf("InternetQueryOption failed! (%d)\n", GetLastError());

pInfo->lpszProxy 包含奇怪的符号。我尝试在注册表中搜索代理设置,但也找不到。在上面提到的文章中,还有一个片段可以检索代理设置:

INTERNET_PER_CONN_OPTION_LIST    List;
INTERNET_PER_CONN_OPTION         Option[5];
unsigned long                    nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);

Option[0].dwOption = INTERNET_PER_CONN_AUTOCONFIG_URL;
Option[1].dwOption = INTERNET_PER_CONN_AUTODISCOVERY_FLAGS;
Option[2].dwOption = INTERNET_PER_CONN_FLAGS;
Option[3].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
Option[4].dwOption = INTERNET_PER_CONN_PROXY_SERVER;

List.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
List.pszConnection = NULL;
List.dwOptionCount = 5;
List.dwOptionError = 0;
List.pOptions = Option;

if(!InternetQueryOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize))
  printf("InternetQueryOption failed! (%d)\n", GetLastError());

在尝试上述剪辑时,我得到代理详细信息为“:80”。有人遇到过类似的 Windows CE 问题吗?如果是,你能解决吗?有没有办法可以更改 Windows CE 中的代理设置?我在上面的片段中缺少什么?

4

0 回答 0