您的位置:首页 > 其它

关于windows服务的操作

2015-07-29 11:07 337 查看
/// <summary>

/// 判断是否安装了某个服务

/// </summary>

/// <param name="serviceName"></param>

/// <returns></returns>

public static bool ISWindowsServiceInstalled(string serviceName)

{

try

{

ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController service in services)

{

if (service.ServiceName == serviceName)

{

return true;

}

}
return false;

}

catch

{ return false; }

}

/// <summary>
/// 启动某个服务
/// </summary>
/// <param name="serviceName"></param>
public static void StartService(string serviceName)
{
try
{
ServiceController[] services = ServiceController.GetServices();

foreach (ServiceController service in services)
{
if (service.ServiceName == serviceName)
{
service.Start();

service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
}
}
}
catch { }
}

/// <summary>
/// 停止某个服务
/// </summary>
/// <param name="serviceName"></param>
public static void StopService(string serviceName)
{
try
{
ServiceController[] services = ServiceController.GetServices();

foreach (ServiceController service in services)
{
if (service.ServiceName == serviceName)
{
service.Stop();

service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
}
}
}
catch { }
}

/// <summary>
/// 判断某个服务是否启动
/// </summary>
/// <param name="serviceName"></param>
public static bool ISStart(string serviceName)
{
bool result = true;

try
{
ServiceController[] services = ServiceController.GetServices();

foreach (ServiceController service in services)
{
if (service.ServiceName == serviceName)
{
if ((service.Status == ServiceControllerStatus.Stopped)
|| (service.Status == ServiceControllerStatus.StopPending))
{
result = false;
}
}
}
}
catch { }

return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: