Jim,
I'm using an OCX that is provided (but not supported) by MS. This OCX can respond to Windows SCM (Service Control Manager) events like Start, Stop, Pause, etc. The only downside is: It is not running in VFP. So I built a small VB6 application that runs as a service with the OCX. All event calls the OCX receives are forwarded to a VFP MT-COM-DLL.
If you're interested I can give you the link, where you can find the OCX.
Regards,
Armin