Cerrar procesos desde C++ Builder

hexborg
21 de Junio del 2005
Necesito hacer una funcion que cierre un proceso partiendo de su nombre. He probado a obtener el processID usando toolhelp32 (CreateToolHelpSapshot32, ProcessFirst32, ProcessNext32), abrirlo con OpenProcess y terminarlo con TerminateProcess. El problema es que lo que yo quiero es cerrarlo correctamente como si el usuario hubiese cerrado la ventana, no forzandolo a terminar de forma brusca.

¿Alguien sabe como puedo hacer esto de una forma sencilla?

Gracias a todos de antemano.