我試圖捕獲代理設置(「自動檢測設置」)。我的代碼適用於XP和Vista。 但它不是在Windows 7工作無法在Windows 7上查詢代理「自動檢測設置」
請參閱目標平臺的細節
Windows 7企業版,IE 8.0.7600.16385,Wininet.dll中8.0.7600.16535
請參閱代碼片段
INTERNET_PER_CONN_OPTION_LIST List;
INTERNET_PER_CONN_OPTION Option[1];
unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
Option[0].dwOption = INTERNET_PER_CONN_FLAGS;
List.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
List.pszConnection = NULL;
List.dwOptionCount = 1;
List.dwOptionError = 0;
List.pOptions = Option;
if(!InternetQueryOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize))
AfxMessageBox(L"InternetQueryOption failed! (%d)\n");
TCHAR a[100];
swprintf(a, L"Flag value is : %d",Option[0].Value.dwValue, 80);
AfxMessageBox(a);
但在Windows 7中,即使「自動檢測設置」,在IE選項被選中,該方案稱,該標誌未設置
我嘗試使用WinHttp API也如下所示。
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG stProxyConfig = {0};
WinHttpGetIEProxyConfigForCurrentUser(&stProxyConfig);
if (stProxyConfig.fAutoDetect == TRUE)
AfxMessageBox(L"Auto proxy detection enabled");
else
AfxMessageBox(L"Auto proxy detection disabled");
在Windows 7上,上述代碼也無法捕獲「自動檢測設置」選項。對此的任何輸入都非常感謝。
感謝 約翰