我试图基于此example from Microsoft使用Internet Explorer选项API设置 LAN设置。
我能够设置代理地址和异常,但是我想启用Bypass proxy server for local addresses
复选框,并通知Internet Explorer进行更改,因此我不必关闭它并再次打开它。
我想我需要使用INTERNET_PER_CONN_OPTION
结构中的另一个选项,但不知道我应该使用什么。
这是我的代码:
#include <Windows.h>
#include <wininet.h>
#include <wchar.h>
#pragma comment(lib, "Wininet.lib")
int wmain(int argc, wchar_t * argv[])
{
INTERNET_PER_CONN_OPTION_LIST connList;
DWORD bufSize = sizeof(connList);
connList.dwSize = sizeof(connList);
connList.pszConnection = NULL;
connList.dwOptionCount = 3;
connList.pOptions = (INTERNET_PER_CONN_OPTION*)malloc(sizeof(INTERNET_PER_CONN_OPTION) * 3);
if (connList.pOptions == NULL)
{
fwprintf(stderr, L"Memory allocation failed.\n");
return 1;
}
connList.pOptions[0].dwOption = INTERNET_PER_CONN_FLAGS;
connList.pOptions[0].Value.dwValue = PROXY_TYPE_DIRECT |
PROXY_TYPE_PROXY;
connList.pOptions[1].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
connList.pOptions[1].Value.pszValue = L"https://internal.com.co:80";
connList.pOptions[2].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
connList.pOptions[2].Value.pszValue = L"local";
BOOL internetOption;
internetOption = InternetSetOptionW(NULL,
INTERNET_OPTION_PER_CONNECTION_OPTION,
&connList,
bufSize);
if (internetOption != TRUE)
{
fwprintf(stderr, L"Faile to set the option with code: %u\n", GetLastError());
return 1;
}
free(connList.pOptions);
wprintf(L"Done!\n");
return 0;
}
你能帮我吗?
答案 0 :(得分:1)
将包含<local>
和<
符号的字符串>
添加到例外列表,例如<local>;*.microsoft.com
。