Status von Diensten und Komponentendiensten mit Ansi C ermitteln



  • Hallo Forum,

    bin neu hier und ich weiß auch nicht ob ich hier im richtigen Themen-Bereich bin,
    vielleicht kann mir ja doch jemand helfen.

    Von einer Bedien- und Beobachtungs Runtime möchte ich den Status von Diensten oder Komponentendiensten ermitteln die jedoch auf einem anderen Rechner laufen.

    Die eben genannte Runtime ist von diesen Diensten indirekt abhängig und ich müßte z.B. im C-Script (Globalscript der Runtime) auf das Beenden eines Dienstes reagieren.

    mfg. Deckelsjupp



  • Dienste sind, unter Windows, spezielle Anwendungen, die besonderen Anforderungen des Betriebssystem entsprechen damit sie alle einheitlich vom Service Control Manager verwaltet werden können.
    Wenn der Dienst nicht selbst ein "Interface" zur Verfügungs über das andere Anwendungen diese "Kontrolle" ausüben können, hast du keine Chance mit reinem Standard C/C++, ohne Unterstützung des Betriebssystem.

    mfg JJ



  • Bisher konnte ich auf ein Window abfragen. Wenn dieses nicht gefunden wurde habe ich die Anwendung gstartet. (Beispiel)

    HWND Handles = NULL;

    Handles = FindWindow(NULL,"Anwendung");
    if(!Handles){
    ProgramExecute("C:\\Anwendung.EXE");
    }

    Ich dacht eben es gäb wie HWND eine ladbare Funktion für den Status der Dienste, mir würde ja die Information reichen ob er ausgeführt wird oder nicht.

    mfg. Deckelsjupp



  • Ja, das geht allerdings nur über den ServiceControlManager (SCM).

    Alles weitere vorerst hier: MSDN: Services


Anmelden zum Antworten