Dienst wird gestartet und SOFORT wieder beendet



  • Dienst "rslServic" wurde auf "Lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatisch angehalten, wenn sie sich im Leerlauf befindet (WORTWÖRTLICH - COOLES DEUTSCH WINDOWS !), wie zum Beispiel Leistungsprotokoll- und Alarmdienste.

    Dies wird mir angezeigt, wenn ich den Dienst manuell starten will, ich arbeite mich grad etwas in Dienste und weiß noch nicht genau, was alles nötig ist um ein Dienst zum Laufen zu bringen, installiert ist er schon mal.

    Was sagt mir diese Fehlermeldung ?



  • Schau dir mal die Eigenschaften von dem Service an, denn wenn du bei
    OnExecute nichts drinnen stehen hast, wird der Dienst gleich beendet.

    void __fastcall TMyService::ServiceExecute(TService *Sender)
    {
    
    	while (!Terminated) {
    
    		ServiceThread->ProcessRequests(true);
    	}
    }
    


  • Genial !
    Funktioniert nun !

    Entschuldigung, aber ich kann den Dienst nicht starten. (ABER MANUELL GEHTS JETZT !)
    Beide Versionen funtkionieren nicht:

    void ServiceManager::StartTheService2(char* ServiceName)
    {
    	SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    	OpenService(hSCManager, ServiceName,  SC_MANAGER_ALL_ACCESS);
    	StartService(hSCManager, NULL, NULL);
    }
    
    void ServiceManager::StartTheService(char* ServiceName)
    {
    	StartServiceA(NULL, NULL, &static_cast <const char*> (ServiceName));
    }
    

    EDIT 2: Ach nochwas: Sind Timer in einem Server nicht funktionstüchtig ?


Anmelden zum Antworten