Use the ICISite interface IsStarted property to determine whether a Site is active and available.
HRESULT IsStarted([out, retval] VARIANT_BOOL *pVal);
Example (VBScript):
If Not Site.IsStarted Then
Site.Start
End If
To start or stop a Site via the COM API, refer to:
Starting a Site (Start)
Stopping Site (Stop)