title: Stopping Windows service asynchronously
body: <p>I am trying to control a service within an application. Starting the service via StartService (<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms686321%28v=vs.85%29.aspx" rel="nofollow">MSDN</a>) works fine, the service needs about 10 seconds to start, but after calling StartService it gives the control back to the main-application immediately. </p>
  
  <p>However, when stopping the service via ControlService (<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms682110%28v=vs.85%29.aspx" rel="nofollow">MSDN</a>) - AFAIK there is no StopService - it blocks the main-application for the complete time until the service is stopped, which takes about 10 seconds.</p>
  
  <pre><code>Start: StartServiceW( handle, 0, NULL)
  Stop: ControlService( handle, SERVICE_CONTROL_STOP, status )
  </code></pre>
  
  <p>Is there a way for a non-blocking / asynchronously stopping of a windows service?</p>