Включите обход прокси-сервера и уведомите IE об изменении - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь использовать API параметров Internet Explorer для установки Настройки локальной сети на основе этого примера от Microsoft .

Мне удалось установить проксиадрес и исключение, но я хочу включить флажок Bypass proxy server for local addresses, а также уведомить Internet Explorer об изменении, чтобы мне не приходилось закрывать его и открывать снова.

Полагаю, мне нужно использовать другую опцию из структуры INTERNET_PER_CONN_OPTION, но не знаю, что мне следует использовать.

enter image description here

Этомой код:

#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;
}

Можете ли вы помочь мне?

1 Ответ

0 голосов
/ 07 декабря 2018

Добавьте строку <local>, включая знаки < и >, в список исключений, например, <local>;*.microsoft.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...