En el sistema operativo POSIX hay señal de API que permite enviar una señal al proceso para cerrarla con kill y puede atraparla con sigaction y hacer lo que necesite;Win32 API analógica de envío/captura SIGTERM
Sin embargo, no es Win32 sistema POSIX, por lo que:
- Cómo puedo manipular los eventos de cierre que pueden venir, por ejemplo, de "Terminar proceso" en el "Administrador de tareas"?
- ¿Cuál es la API estándar para enviar la señal de apagado a la aplicación Win32?
No estoy hablando de GUI, estoy hablando de servidor TCP/IP que debe estar muy bien apagado. que no ejecuta como el servicio de Windows.
Debe manejar WM_CLOSE. "El mensaje WM_QUIT no está asociado con una ventana y, por lo tanto, nunca se recibirá a través del procedimiento de ventana de una ventana. Solo se recupera mediante las funciones GetMessage o PeekMessage". -MSDN – Indy9000
¿Puedo usar el mismo método para la consola Ctrl + C y para el proceso runnig como servicio de Windows? O debería usar diferentes métodos para cada uno de ellos? – Artyom