我正在尝试控制应用程序中的一个服务。通过StartService(MSDN)启动服务工作正常,服务需要大约10秒钟才能启动,但在调用StartService后,它立即将控制权交回主应用程序。
然而,当使用ControlService(MSDN)停止服务时 - 据我所知,没有StopService - 它会阻塞主应用程序直到服务停止,这需要大约10秒钟的时间。
有没有一种非阻塞/异步停止Windows服务的方法?
然而,当使用ControlService(MSDN)停止服务时 - 据我所知,没有StopService - 它会阻塞主应用程序直到服务停止,这需要大约10秒钟的时间。
Start: StartServiceW( handle, 0, NULL)
Stop: ControlService( handle, SERVICE_CONTROL_STOP, status )
有没有一种非阻塞/异步停止Windows服务的方法?
sc
命令允许您停止服务而不会被阻止。尝试在那里查找有趣的API函数。 - wilx