tags:

views:

118

answers:

1

How can I programmatically retrieve the current connection type (eg. LAN or Direct connection)?

InternetGetConnectedState() isn't very reliable.

For instance, I'm connected to a wireless network, but ConTypeRet is 18, which is INTERNET_CONNECTION_LAN & INTERNET_RAS_INSTALLED. Isn't there any way to make sure that ConTypeRet is either INTERNET_CONNECTION_LAN or INTERNET_CONNECTION_MODEM?

A: 

I'm confused by your "It is unreliable" statement. You can just check for both:

bool IsLanOrModem() {
    DWORD result;
    if (!InternetGetConnectedState(&result, 0))
        throw GetLastError();
    return result & INTERNET_CONNECTION_LAN || result & INTERNET_CONNECTION_MODEM;
}
Billy ONeal