Ich habe
hier mal eine Unit gepostet, die das recht einfach macht.
Mit der Methode
ServiceGetStatus ermittelst Du den Status, die Rückgabewerte sind wie folgend:
Delphi-Quellcode:
//
// Service State -- for CurrentState
//
{$EXTERNALSYM SERVICE_STOPPED}
SERVICE_STOPPED = $00000001;
{$EXTERNALSYM SERVICE_START_PENDING}
SERVICE_START_PENDING = $00000002;
{$EXTERNALSYM SERVICE_STOP_PENDING}
SERVICE_STOP_PENDING = $00000003;
{$EXTERNALSYM SERVICE_RUNNING}
SERVICE_RUNNING = $00000004;
{$EXTERNALSYM SERVICE_CONTINUE_PENDING}
SERVICE_CONTINUE_PENDING = $00000005;
{$EXTERNALSYM SERVICE_PAUSE_PENDING}
SERVICE_PAUSE_PENDING = $00000006;
{$EXTERNALSYM SERVICE_PAUSED}
SERVICE_PAUSED = $00000007;
Die Methoden
ServiceStart/
ServiceStop sind zum Starten und Stoppen von Diensten.
...
...