Methods#region Methods
private
void
runService(
string
servername)
{
ServiceController sc =
new
ServiceController(servername);
ServiceControllerStatus st = sc.Status;
switch
(st)
{
case
ServiceControllerStatus.StopPending:
case
ServiceControllerStatus.Stopped:
sc.Start();
break
;
default
:
break
;
}
sc.WaitForStatus(ServiceControllerStatus.Running);
st = sc.Status;
if
(st == ServiceControllerStatus.Running)
{
lbInfo.Text =
"服务 "
+ sc.ServiceName +
" 已经启动!"
;
}
}
private
void
killService(
string
servername)
{
ServiceController sc =
new
ServiceController(servername);
ServiceControllerStatus st = sc.Status;
switch
(st)
{
case
ServiceControllerStatus.Running:
case
ServiceControllerStatus.StartPending:
case
ServiceControllerStatus.Paused:
case
ServiceControllerStatus.PausePending:
case
ServiceControllerStatus.ContinuePending:
sc.Stop();
sc.WaitForStatus(ServiceControllerStatus.Stopped);
break
;
}
st = sc.Status;
if
(st == ServiceControllerStatus.Stopped)
{
lbInfo.Text =
"服务 "
+ sc.ServiceName +
" 已经停止!"
;
}
}
private
void
pauseService(
string
servername)
{
ServiceController sc =
new
ServiceController(servername);
ServiceControllerStatus st = sc.Status;
switch
(st)
{
case
ServiceControllerStatus.Running:
case
ServiceControllerStatus.StartPending:
sc.Pause();
sc.WaitForStatus(ServiceControllerStatus.Paused);
break
;
}
st = sc.Status;
if
(st == ServiceControllerStatus.Paused)
{
lbInfo.Text =
"服务 "
+ sc.ServiceName +
" 已经暂停!"
;
}
}
private
void
resumeService(
string
servername)
{
ServiceController sc =
new
ServiceController(servername);
ServiceControllerStatus st = sc.Status;
switch
(st)
{
case
ServiceControllerStatus.Paused:
case
ServiceControllerStatus.PausePending:
sc.Continue();
sc.WaitForStatus(ServiceControllerStatus.Running);
break
;
}
st = sc.Status;
if
(st == ServiceControllerStatus.Running)
{
lbInfo.Text =
"服务 "
+ sc.ServiceName +
" 已经继续!"
;
}
}
private
string
getStateForService(
string
servername)
{
ServiceController sc =
new
ServiceController(servername);
ServiceControllerStatus st = sc.Status;
return
sc.Status.ToString();
}
#endregion