Как проверить тип сетевого подключения с помощью Windows API? - PullRequest
2 голосов
/ 11 апреля 2010

Как программно получить текущий тип соединения (например, LAN или прямое соединение)?

InternetGetConnectedState () не очень надежно.

Например, я подключен к беспроводной сети, но ConTypeRet - 18, это INTERNET_CONNECTION_LAN & INTERNET_RAS_INSTALLED. Нет ли способа убедиться, что ConTypeRet является либо INTERNET_CONNECTION_LAN, либо INTERNET_CONNECTION_MODEM?

1 Ответ

0 голосов
/ 11 апреля 2010

Я смущен вашим утверждением "Ненадежно".Вы можете просто проверить оба:

bool IsLanOrModem() {
    DWORD result;
    if (!InternetGetConnectedState(&result, 0))
        throw GetLastError();
    return result & INTERNET_CONNECTION_LAN || result & INTERNET_CONNECTION_MODEM;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...