Initializes a new instance of ExtendedServiceController.
public ExtendedServiceController(string ServiceName)
ServiceName
The name of the Windows Service to control/monitor.
using Leadtools.Dicom.AddIn;using Leadtools.Dicom.AddIn.Common;using Leadtools.Dicom.Server.Admin;public static class ExtendedServiceControllerExample{static AutoResetEvent statusChangedEvent = new AutoResetEvent(false);static ServiceControllerStatus desiredStatus = ServiceControllerStatus.Stopped;public static void StartService(ExtendedServiceController controller){if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Running){desiredStatus = ServiceControllerStatus.Running;statusChangedEvent.Reset();controller.Start();statusChangedEvent.WaitOne();}}public static void StopService(ExtendedServiceController controller){if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Stopped){desiredStatus = ServiceControllerStatus.Stopped;statusChangedEvent.Reset();controller.Stop();statusChangedEvent.WaitOne();}}public static void ExtendedServiceControllerSample(){ExtendedServiceController controller = new ExtendedServiceController("L22_PACS_SCP64");controller.StatusChanged += Controller_StatusChanged;StartService(controller);StopService(controller);StartService(controller);StopService(controller);}private static void Controller_StatusChanged(object sender, ServiceStatusEventArgs e){ExtendedServiceController controller = sender as ExtendedServiceController;if (controller != null){try{Console.WriteLine($"Status Changed: {e.Status}");}finally{if (controller.Status == desiredStatus){statusChangedEvent.Set();}}}}}
ExtendedServiceController Class