C#啟動Windows服務及關閉實例實現
作者:小甜甜
C#啟動Windows服務及關閉實例實現是如何做到的呢?那么本文就向介紹C#啟動Windows服務及關閉實例實現的具體的代碼。
C#啟動Windows服務及關閉實例實現的步驟和使用調用的類是什么呢?讓我們來看看具體的實現:
C# 控制Windows服務的啟動與關閉
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;
- }
【編輯推薦】
責任編輯:仲衡
來源:
百度空間