C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
настройка в Explorer "Подключение", Прокси
Daan
Отправлено: 21.06.2005, 05:18


Дежурный стрелочник

Группа: Участник
Сообщений: 62



Доброе время суток...
Подскажите, как динамически изменить настройку подключение->проки??? т.е. чтобы все открытые окна переключились на новый прокси???

Заранее благодарен....
GIZMO
Отправлено: 21.06.2005, 09:24


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Daan @ 21/06/2005, 05:18)
Доброе время суток...
Подскажите, как динамически изменить настройку подключение->проки??? т.е. чтобы все открытые окна переключились на новый прокси???

Заранее благодарен....

Где? В IE? Или в CppWebBrowser?
Daan
Отправлено: 22.06.2005, 13:27


Дежурный стрелочник

Группа: Участник
Сообщений: 62



>GIZMO
Да простите...
В IE.....
Чтобы изменялась так же в открытых окнах....
GIZMO
Отправлено: 22.06.2005, 14:06


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Daan @ 22/06/2005, 13:27)
>GIZMO
Да простите...
В IE.....
Чтобы изменялась так же в открытых окнах....

CODE

BOOL SetConnectionOptions(LPCTSTR conn_name,LPCTSTR proxy_full_addr)
{
   //conn_name: active connection name.
   //proxy_full_addr : eg "210.78.22.87:8000"
   INTERNET_PER_CONN_OPTION_LIST list;
   BOOL    bReturn;
   DWORD   dwBufSize = sizeof(list);
   // Fill out list struct.
   list.dwSize = sizeof(list);
   // NULL == LAN, otherwise connectoid name.
   list.pszConnection = conn_name;
   // Set three options.
   list.dwOptionCount = 3;
   list.pOptions = new INTERNET_PER_CONN_OPTION[3];
   // Make sure the memory was allocated.
   if(NULL == list.pOptions)
   {
       // Return FALSE if the memory wasn't allocated.
       OutputDebugString("failed to allocat memory in SetConnectionOptions()");
       return FALSE;
   }
   // Set flags.
   list.pOptions[0].dwOption = INTERNET_PER_CONN_FLAGS;
   list.pOptions[0].Value.dwValue = PROXY_TYPE_DIRECT |
       PROXY_TYPE_PROXY;

   // Set proxy name.
   list.pOptions[1].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
   list.pOptions[1].Value.pszValue = proxy_full_addr;//"http://proxy:80";

   // Set proxy override.
   list.pOptions[2].dwOption = INTERNET_PER_CONN_PROXY_BYPASS;
   list.pOptions[2].Value.pszValue = "local";

   // Set the options on the connection.
   bReturn = InternetSetOption(NULL,
       INTERNET_OPTION_PER_CONNECTION_OPTION, &list, dwBufSize);

   // Free the allocated memory.
   delete [] list.pOptions;
   InternetSetOption(NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
   InternetSetOption(NULL, INTERNET_OPTION_REFRESH , NULL, 0);
   return bReturn;
}
//set proxy
   const char* connection_name="Connection to adsl3";
   SetConnectionOptions(connection_name,"62.81.236.23:80");
Daan
Отправлено: 22.06.2005, 14:59


Дежурный стрелочник

Группа: Участник
Сообщений: 62



connection_name
это имя соединения????
GIZMO
Отправлено: 23.06.2005, 11:04


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Daan @ 22/06/2005, 14:59)
connection_name
это имя соединения????

Похоже на то:
QUOTE (MSDN @ 2002)

pszConnection
Pointer to a string value that contains the name of the RAS connection or NULL, which indicates the default or LAN connection, to set or query options on.

и в коде вроде прокомментировано...
GIZMO
Отправлено: 27.06.2005, 08:19


Машинист паровоза

Группа: Участник
Сообщений: 174



Daan, ау? Куда пропал? Получилось что-нибудь?
Daan
Отправлено: 28.06.2005, 00:56


Дежурный стрелочник

Группа: Участник
Сообщений: 62



>GIZMO

Да, все работает. Большое спасибо...
GIZMO
Отправлено: 28.06.2005, 08:08


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Daan @ 28/06/2005, 00:56)
>GIZMO

Да, все работает. Большое спасибо...

Ну вот, а Я переживал. Не за что...

Вернуться в Вопросы программирования в C++Builder