Domanda

ho creato un servizio di Windows e vorrebbe inviare un controllo + B o il controllo valore di controllo + C. So che posso usare il controllo SC, ma mi chiedevo se ci fosse una posizione che conteneva tutti i possibili valori che posso inviare. C'è un metodo di arresto SC, ma sto cercando di inviare un carattere di controllo.

È stato utile?

Soluzione

Il "leggiadria" di un arresto di servizio tutto dipende da come il vostro risponde servizio alla richiesta. Se si sta scrivendo il servizio, allora si ha il pieno controllo su come i tuoi risponde di servizio quando lo SCM invia una richiesta di "stop". Dopo aver ricevuto la richiesta, si dispone di una quantità limitata di tempo (Windows decide quanto) per arrestare il vostro servizio e rispondere alla richiesta di controllo. Se non si riesce a rispondere in modo tempestivo, Windows potrebbe interrompere l'processo di servizio ungracefully.

Un'applicazione console in grado di rispondere a una richiesta di Ctrl + C utilizzando il SetConsoleCtrlHandler() funzione "nofollow". Tuttavia, i processi di servizio non vengono eseguiti all'interno di una finestra della console, in modo da questo gestore è completamente inapplicabile ai servizi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top