>>#DEFINE INTERNET_CONNECTION_MODEM 1 >>#DEFINE INTERNET_CONNECTION_LAN 2 >>#DEFINE INTERNET_CONNECTION_PROXY 4 >>#DEFINE INTERNET_CONNECTION_MODEM_BUSY 8 >>#DEFINE INTERNET_RAS_INSTALLED 16 >>#DEFINE INTERNET_CONNECTION_OFFLINE 32 >>#DEFINE INTERNET_CONNECTION_CONFIGURED 64 >> >> DECLARE SHORT InternetGetConnectedState IN wininet.dll; >> INTEGER @lpdwFlags, INTEGER dwReserved >> >> DECLARE SHORT InternetGetConnectedStateEx IN wininet.dll; >> INTEGER @lpdwFlags, STRING @lpszConnectionName,; >> INTEGER dwNameLen, INTEGER dwReserved >> >> DO displayState >> DO displayStateEx >>RETURN >> >>PROCEDURE displayState >> ? "*** InternetGetConnectedState:" >> lpdwFlags = 0 >> IF InternetGetConnectedState (@lpdwFlags, 0) = 1 >> ? " Flags returned: " +; >> LTRIM(STR(lpdwFlags)) >> >> ? " Modem connection: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_MODEM) >> >> ? " LAN connection: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_LAN) >> >> ? " Proxy connection: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_PROXY) >> >> ? " The modem is busy: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_MODEM_BUSY) >> >> ? " The RAS is installed: " +; >> _ok(lpdwFlags, INTERNET_RAS_INSTALLED) >> >> ? " Offline connection: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_OFFLINE) >> >> ? " Is configured: " +; >> _ok(lpdwFlags, INTERNET_CONNECTION_CONFIGURED) >> ELSE >> ? "InternetGetConnectedState error" >> ENDIF >>RETURN >> >>PROCEDURE displayStateEx >>* the same as the regular one except the connection name is returned >> ? >> ? "*** InternetGetConnectedStateEx:" >> lpdwFlags = 0 >> lcConnection = REPLI (Chr(0), 250) >> IF InternetGetConnectedStateEx (@lpdwFlags,; >> @lcConnection, Len(lcConnection), 0) = 1 >> >> ? " Flags returned: " + LTRIM(STR(lpdwFlags)) >> ? " Connection name: " +; >> SUBSTR (lcConnection, 1, AT(Chr(0), lcConnection)-1) >> ELSE >> ? "InternetGetConnectedStateEx error" >> ENDIF >>RETURN >> >>FUNCTION _ok (lnBase, lnValue) >>RETURN Iif(BitAnd(lnBase, lnValue)=lnValue, "Yes","No") >> >>>>>Alexandre,