ServiceController sc = new ServiceController(); private void StartService(string s) { try { sc.ServiceName = s; /// if service is stopped, start it if (sc.Status == ServiceControllerStatus.Stopped) { //啟動類型設為自動(手動、自動、已停用) //如果啟動類型為已停用會導致無法啟用該服務 Process.Start("sc", "config Messenger start= auto"); //因為服務的啟動類型更改會需要一點時間 //所以我先在程式中放置一個Timer設定為5000毫秒 timer1.Start(); } } catch (Exception e) { Console.WriteLine("Exception : ", e.Message); } } private void timer1_Tick(object sender, EventArgs e) { //服務狀態設為啟用 sc.Start(); sc.WaitForStatus(ServiceControllerStatus.Running); timer1.Stop(); }
沒有留言:
張貼留言