使用ServiceController組件控制計算機服務
阿新 • • 發佈:2018-12-30
ebo alt 計算機名稱 代碼 啟動 geb service machine true
實現效果:
知識運用:
ServiceController組件的MachineName屬性 //獲取或設置服務所駐留的計算機名稱
public string MachineName{get;set;} //屬性值:與此ServiceController實例關聯的服務的計算機名稱
ServiceName屬性 //獲取或設置對此實例引用的服務進行標識的名稱
public string ServiceName{get;set;}
Status屬性 //獲取由此實例引用的服務的狀態
public ServiceControllerStatus Status {get;} //枚舉值之一
DisplayName屬性 //獲取或設置服務的友好名稱
public string DisplayName { get;set; }
CanStop屬性 //指示服務在啟動後是否可以停止
public bool CanStop { get; }
Start Stop方法
實現代碼:
//啟動服務 private void btn_start_Click(object sender, EventArgs e) { serviceController1.MachineName="."; serviceController1.ServiceName="wuauserv"; if (serviceController1.Status == ServiceControllerStatus.Running) { MessageBox.Show( serviceController1.DisplayName+"服務正在運行"); Application.Exit(); } else { serviceController1.Start(); MessageBox.Show( serviceController1.DisplayName+"服務啟動成功"); btn_start.Enabled = false; Application.Exit(); } } //判斷狀態 private void btn_status_Click(object sender, EventArgs e) { try { serviceController1.MachineName = "."; serviceController1.ServiceName = "wuauserv"; if (serviceController1.Status == ServiceControllerStatus.Running) { MessageBox.Show(serviceController1.DisplayName + "服務正在運行"); btn_stop.Enabled = true; btn_status.Enabled = false; } else { MessageBox.Show(serviceController1.DisplayName + "服務已經停止"); btn_start.Enabled = true; btn_status.Enabled = false; } } catch (Exception ee) { MessageBox.Show(ee.Message); } } //停止服務 private void btn_stop_Click(object sender, EventArgs e) { try { serviceController1.MachineName = "."; serviceController1.ServiceName = "wuauserv"; if (serviceController1.CanStop) { serviceController1.Stop(); MessageBox.Show(serviceController1.DisplayName+"服務已經停止"); Application.Exit(); } else { MessageBox.Show("服務不可以停止"); Application.Exit(); } } catch (Exception ee) { MessageBox.Show(ee.Message); } }
使用ServiceController組件控制計算機服務