ich stoppe einen Windows-Dienst derzeit von meinem Code wie unten dargestellt:Wie Windows Services auf "manuell" festgelegt werden?
srvc_status = ControlService(serviceHandle, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&status);
Aber es ist, den Zustand des Dienstes Automatisch (Verzögerter Start) ändern. Aber ich muss es auf Manual eingestellt werden. Ich ging durch die Windows-Dokumentation auch in Bezug auf ChangeServiceConfig und nicht gefunden, was sagt über die Optionen explizit den Status auf Manual. Kann mich jemand hier zum richtigen API-Aufruf führen?
Nicht hundertprozentig sicher, dass dies die Antwort ist, aber nachdem Sie den Dienst beendet haben, müssen Sie 'ChangeServiceConfig' aufrufen, für den Parameter' dwStartType' müssen Sie jedoch 'SERVICE_DEMAND_START' eingeben. So etwas in der Art: 'ChangeServiceConfig (serviceHandle, SERVICE_NO_CHANGE, SERVICE_DEMAND_START, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, NULL, NULL, NULL);'. Lass es mich wissen, wenn es funktioniert und ich kann dies zu einer Antwort konvertieren. Sie werden feststellen, dass die 'dwStartType'-Enums mit Starttypen in Zusammenhang stehen, die auf der Dokumentation basieren, weshalb ich glaube, dass' SERVICE_DEMAND_START' genau das ist, was Sie brauchen. –
Genau habe ich auch früher darüber nachgedacht aber in andere Dinge bei Google gewandert. Es funktioniert vollkommen in Ordnung. Bitte fügen Sie es als Antwort hinzu. –