C#啓動Windows服務及關閉實例實現的步驟和使用調用的類是什麼呢?讓我們來看看具體的實現:
C# 控制Windows服務的啓動與關閉
- // ......
- using System.ServiceProcess;
- // ......
- /// <summary>
- /// Restart windows service
- /// </summary>
- /// <param name="serviceName">
- ///the windows service display name</param>
- /// <returns> If the restart successfully
- ///return true else return false</returns>
- public static bool RestartWindowsService( string serviceName)
- {
- bool bResult = false ;
- try
- {
- try
- { //C#啓動Windows服務及關閉
- StopWindowsService(serviceName);
- Thread.Sleep(1000);
- }
- catch (Exception ex)
- {
- StartWindowsService(serviceName);
- Thread.Sleep(1000);
- StopWindowsService(serviceName);
- Thread.Sleep(1000);
- Console.WriteLine(ex.Message);
- }
- try
- {
- StartWindowsService(serviceName);
- Thread.Sleep(1000);
- }
- catch (Exception ex) //C#啓動Windows服務及關閉
- {
- StopWindowsService(serviceName);
- Thread.Sleep(1000);
- StartWindowsService(serviceName);
- Thread.Sleep(1000);
- Console.WriteLine(ex.Message);
- }
- bResult = true ;
- }
- catch (Exception ex)
- {
- bResult = false ;
- throw ex;
- }
- return bResult;
- }
- //C#啓動Windows服務及關閉
- /// <summary>
- /// Start windows service
- /// </summary>
- /// <param name="serviceName">
- ///the windows service display name</param>
- /// <returns>If the start successfully
- ///return true else return false</returns>
- public static bool StopWindowsService( string serviceName)
- {
- ServiceController[] scs = ServiceController.GetServices();
- bool bResult = false ;
- foreach (ServiceController sc in scs)
- {
- if (sc.DisplayName == serviceName)
- {
- try
- {
- sc.WaitForStatus(ServiceControllerStatus.Running,
- TimeSpan.FromSeconds(30));
- sc.Stop();
- bResult = true ;
- }
- catch (Exception ex)
- {
- bResult = false ;
- throw ex;
- }
- }
- }
- return bResult;
- }
- //C#啓動Windows服務及關閉
- /// <summary>
- /// Stop windows service
- /// </summary>
- /// <param name="serviceName">the windows
- ///service display name</param>
- /// <returns>If the stop successfully
- ///return true else return false</returns>
- public static bool StartWindowsService(
- string serviceName)
- {
- ServiceController[] scs
- = ServiceController.GetServices();
- bool bResult = false ;
- foreach (ServiceController sc in scs)
- {
- if (sc.DisplayName == serviceName)
- {
- try
- {
- sc.WaitForStatus(ServiceControllerStatus.Stopped,
- TimeSpan.FromSeconds(30));
- sc.Start();
- bResult = true ;
- }
- catch (Exception ex)
- {
- bResult = false ;
- throw ex;
- }
- } //C#啓動Windows服務及關閉
- }
- return bResult;
- }
C#啓動Windows服務及關閉具體實現就向你介紹到這裏,希望對你瞭解和學習C#啓動Windows服務及關閉有所幫助。