Вот тупой кусок кода:
DWORD m_ctype = INTERNET_OPEN_TYPE_PRECONFIG;
if (typeconnect == 1)
m_ctype = INTERNET_OPEN_TYPE_DIRECT;
else if (typeconnect == 2)
m_ctype = INTERNET_OPEN_TYPE_PROXY;
h_connection = ::InternetOpen(agent,m_ctype,NULL,NULL,NULL);
typeconnect соответствует выбранному типу соединения (0 - верхний крыжалик, 1 - средний, 2 - нижний). В зависимости от этого в InternetOpen передаётся один из параметров. За смыслом и значением каждого из них welcome в MSDN.