public static StartMode GetServiceStartMode(string serviceName)
{
if (string.IsNullOrEmpty(serviceName)) throw new ArgumentNullException("serviceName");
try
{
// construct the management path.
string path = "Win32_Service.Name='" + serviceName + "'";
ManagementPath p = new ManagementPath(path);
// construct the management object
using (ManagementObject ManagementObj = new ManagementObject(p))
{
string startMode = ManagementObj["StartMode"].ToString();
return ConvertStringToStartMode(startMode);
}
}
catch (Exception e)
{
Utils.Trace(e, "Unexpected error getring start mode for service {0}.", serviceName);
}
return StartMode.Disabled;
}