回答

2

有关如何检查服务在启动条件下运行,见this线的详细信息,

最可靠的自定义操作将是一个C++ DLL调用两个UI的 LaunchConditions行动之前插入执行序列。

有一个在这里的一个例子:

http://support.microsoft.com/default.aspx?scid=kb;en-us;253683

您的自定义操作代码可以检查正在运行的服务,并为LaunchConditions设置属性 。

您可以使用ServiceController.GetServices方法列出在本地计算机上运行的服务。

ServiceController[] scServices; 
scServices = ServiceController.GetServices(); 

// Display the list of services currently running on this computer. 

Console.WriteLine("Services running on the local computer:"); 
foreach (ServiceController scTemp in scServices) 
{ 
    if (scTemp.Status == ServiceControllerStatus.Running) 
    { 
     // Write the service name and the display name 
     // for each running service. 
     Console.WriteLine(); 
     Console.WriteLine(" Service :  {0}", scTemp.ServiceName); 
     Console.WriteLine(" Display name: {0}", scTemp.DisplayName); 
    } 
} 
2

您可以连接到服务如下:

ServiceController sc = new ServiceController("ServiceName"); 

如果该服务是通过检查“状态”属性运行,则可以检查。 Status返回ServiceControllerStatus类型的值(枚举)。

相关问题