Frage

Ich habe einen Windows -Dienst erstellt und möchte ihm einen Steuerelement+B oder Steuer+C -Steuerwert senden. Ich weiß, dass ich SC Control verwenden kann, aber ich habe mich gefragt, ob es einen Ort gab, an dem alle möglichen Werte, die ich senden kann, enthielt. Es gibt eine SC -Stop -Methode, aber ich möchte ihm einen Kontrollcharakter senden.

War es hilfreich?

Lösung

Die "Anmut" eines Service -Herunterfahrens hängt davon ab, wie Ihr Service auf die Anfrage reagiert. Wenn Sie den Service schreiben, haben Sie die volle Kontrolle darüber, wie Ihr Dienst reagiert, wenn der SCM eine "Stopp" -Anfrage sendet. Nach Erhalt der Anfrage haben Sie eine begrenzte Zeit (Windows entscheidet wie viel), um Ihren Dienst zu stoppen und auf die Steueranforderung zu antworten. Wenn Sie nicht rechtzeitig antworten, kann Windows Ihren Serviceprozess unangebracht beenden.

Eine Konsolenanwendung kann auf eine Strg+C -Anforderung mit der Reaktion der Anforderung des SetConsoleCtrlHandler() Funktion. Serviceprozesse werden jedoch nicht in einem Konsolenfenster ausgeführt, sodass dieser Handler für Dienstleistungen völlig unantragbar ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top