/// <summary> /// Retrieves the connected state of the local system /// </summary> /// <param name="lpdwFlags">Pointer to a variable that receives the connection description. This parameter may return a valid flag even when the function returns FALSE. This parameter can be one or more of the following values.</param> /// <param name="dwReserved">This parameter is reserved and must be 0.</param> /// <returns>Returns TRUE if there is an active modem or a LAN Internet connection, or FALSE if there is no Internet connection, or if all possible Internet connections are not currently active. For more information, see the Remarks section. /// When InternetGetConnectedState returns FALSE, the application can call GetLastError to retrieve the error code</returns> [DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")] public extern static bool InternetGetConnectedState(out StateFlags lpdwFlags, int dwReserved); public enum StateFlags : int { /// <summary> /// Local system uses a modem to connect to the Internet. /// </summary> INTERNET_CONNECTION_MODEM = 0x01, /// <summary> /// Local system uses a local area network to connect to the Internet. /// </summary> INTERNET_CONNECTION_LAN = 0x02, /// <summary> /// Local system uses a proxy server to connect to the Internet. /// </summary> INTERNET_CONNECTION_PROXY = 0x04, /// <summary> /// No longer used. /// </summary> INTERNET_CONNECTION_MODEM_BUSY = 0x08, /// <summary> /// Local system has RAS installed. /// </summary> INTERNET_RAS_INSTALLED = 0x10, /// <summary> /// Local system is in offline mode. /// </summary> INTERNET_CONNECTION_OFFLINE = 0x20, /// <summary> /// Local system has a valid connection to the Internet, but it might or might not be currently connected. /// </summary> INTERNET_CONNECTION_CONFIGURED = 0x40 }