la connessione se è attiva la controlli tramite la funzione api InternetGetConnectedState in wininet:

Public Declare Function InternetGetConnectedState Lib "wininet" _
(ByRef dwFlags As Long, _
ByVal dwReserved As Long) As Long

devi passare alla funzione 0& e 0& come parametri, ti ritorna true o false a seconda se connesso o meno.

Internet Explorer e Outlook puoi vedere se sono aperti ciclando tra i task attivi, se ne è già parlato, fai una ricerca nel forum al max.