2010-04-10 115 views
2

如何以編程方式檢索當前連接類型(例如LAN或Direct連接)?如何使用Windows API檢查網絡連接類型?

InternetGetConnectedState()不是很可靠。

例如,我連接到無線網絡,但ConTypeRet爲18,即INTERNET_CONNECTION_LAN & INTERNET_RAS_INSTALLED。沒有辦法確保ConTypeRet是INTERNET_CONNECTION_LAN還是INTERNET_CONNECTION_MODEM?

+0

什麼是不可靠的呢?你正在使用局域網連接,這就是你所得到的......無線局域網仍然是局域網。 – 2010-04-10 21:32:26

回答

0

我很困惑你的「這是不可靠的」聲明。你可以只檢查兩者:

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