Here's a bit of code I have handy:
public string Start(string serviceName)
{
using (ServiceController serviceController = new ServiceController(serviceName))
{
try
{
serviceController.Start();
serviceController.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromSeconds(30));
return "+ ok";
}
catch (Exception ex)
{
return "- " + ex.Message;
}
}
}
Is that what you want?