как использовать InternetSetOption - PullRequest
0 голосов
/ 30 мая 2011

Как использовать InternetSetOption?Я перейду к деталям здесь .Это также говорит что-то, связанное с OptionFlags.Кто-нибудь знает, как использовать второй параметр функции?Информацию можно найти здесь .Это немного сбивает с толку, например

INTERNET_OPTION_CONNECTED_STATE: 50:

Устанавливает или извлекает длинное целое число без знака, которое содержит подключенное состояние.Это используется InternetQueryOption и InternetSetOption.

Что это значит, если я передам 50 в качестве второго параметра?

1 Ответ

0 голосов
/ 30 мая 2011

Чего вы на самом деле пытаетесь достичь?

Вообще говоря, вам не следует пытаться установить INTERNET_OPTION_CONNECTED_STATE, поскольку он устанавливается системой автоматически и позволяет вам собирать информацию о состоянии сетевого подключения системы.

Обычно вы используете API InternetSetOption таким образом:

// Announce to the world that we've changed the proxy
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_SETTINGS_CHANGED, IntPtr.Zero, 0);

// ISSUE: We're using ANSI here because calling functions marshal in ANSI. MSDN suggests that W-versions might not work in older IE versions.
[DllImport("wininet.dll", SetLastError=true, CharSet=CharSet.Ansi)]  
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool InternetSetOption(IntPtr hInternet, int Option, [In] IntPtr buffer, Int32 BufferLength);

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

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