C#啟動(dòng)Windows服務(wù)及關(guān)閉實(shí)例實(shí)現(xiàn)
作者:小甜甜
C#啟動(dòng)Windows服務(wù)及關(guān)閉實(shí)例實(shí)現(xiàn)是如何做到的呢?那么本文就向介紹C#啟動(dòng)Windows服務(wù)及關(guān)閉實(shí)例實(shí)現(xiàn)的具體的代碼。
C#啟動(dòng)Windows服務(wù)及關(guān)閉實(shí)例實(shí)現(xiàn)的步驟和使用調(diào)用的類是什么呢?讓我們來看看具體的實(shí)現(xiàn):
C# 控制Windows服務(wù)的啟動(dòng)與關(guān)閉
C#啟動(dòng)Windows服務(wù)及關(guān)閉具體實(shí)現(xiàn)就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#啟動(dòng)Windows服務(wù)及關(guān)閉有所幫助。
- // ......
- 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#啟動(dòng)Windows服務(wù)及關(guān)閉
- 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#啟動(dòng)Windows服務(wù)及關(guān)閉
- {
- 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#啟動(dòng)Windows服務(wù)及關(guān)閉
- /// <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#啟動(dòng)Windows服務(wù)及關(guān)閉
- /// <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#啟動(dòng)Windows服務(wù)及關(guān)閉
- }
- return bResult;
- }
【編輯推薦】
責(zé)任編輯:仲衡
來源:
百度空間