//获取服务状态 void GetServiceStatus(string serviceName, Label txtStatus) { try { if (ServiceApi.IsServiceIsExisted(serviceName)) { string statusStr = ""; int status = ServiceApi.GetServiceStatus(serviceName); switch (status) { case 1: statusStr = "服务未运行!"; break; case 2: statusStr = "服务正在启动!"; break; case 3: statusStr = "服务正在停止!"; break; case 4: statusStr = "服务正在运行!"; break; case 5: statusStr = "服务即将继续!"; break; case 6: statusStr = "服务即将暂停!"; break; case 7: statusStr = "服务已暂停!"; break; default: statusStr = "未知状态!"; break; } txtStatus.Text = statusStr; } else { txtStatus.Text = "服务【" + serviceName + "】未安装!"; } } catch (Exception ex) { txtStatus.Text = "error"; LogApi.WriteLog(ex.Message); } }
//启动服务 void OnService(string serviceName, Button btn, Label txt) { try { if (btn.Text == "启动服务") { ServiceApi.RunService(serviceName); int status = ServiceApi.GetServiceStatus(serviceName); if (status == 2 || status == 4 || status == 5) { txt.Text = "服务【" + serviceName + "】启动成功!"; btn.Text = "停止服务"; } else { txt.Text = "服务【" + serviceName + "】启动失败!"; } } else { ServiceApi.StopService(serviceName); int status = ServiceApi.GetServiceStatus(serviceName); if (status == 1 || status == 3 || status == 6 || status == 7) { txt.Text = "服务【" + serviceName + "】停止成功!"; btn.Text = "启动服务"; } else { txt.Text = "服务【" + serviceName + "】停止失败!"; } } } catch (Exception ex) { txt.Text = "error"; LogApi.WriteLog(ex.Message); } }
/// <summary> /// 初始化控件状态 /// </summary> /// <param name="serviceName">服务名称</param> /// <param name="btn1">安装按钮</param> /// <param name="btn2">启动按钮</param> /// <param name="btn3">获取状态按钮</param> /// <param name="txt">提示信息</param> /// <param name="gb">服务所在组合框</param> void InitControlStatus(string serviceName, Button btn1, Button btn2, Button btn3, Label txt, GroupBox gb) { try { btn1.Enabled = true; if (ServiceApi.IsServiceIsExisted(serviceName)) { btn3.Enabled = true; btn2.Enabled = true; btn1.Text = "卸载服务"; int status = ServiceApi.GetServiceStatus(serviceName); if (status == 4) { btn2.Text = "停止服务"; } else { btn2.Text = "启动服务"; } GetServiceStatus(serviceName, txt); //获取服务版本 string temp = string.IsNullOrEmpty(ServiceApi.GetServiceVersion(serviceName)) ? string.Empty : "(" + ServiceApi.GetServiceVersion(serviceName) + ")"; gb.Text += temp; } else { btn1.Text = "安装服务"; btn2.Enabled = false; btn3.Enabled = false; txt.Text = "服务【" + serviceName + "】未安装!"; } } catch (Exception ex) { txt.Text = "error"; LogApi.WriteLog(ex.Message); } }