Tôi đoán một cái gì đó như thế này sẽ làm việc:
Thêm vào System.ServiceProcess
tài liệu tham khảo dự án của bạn (Nó trên tab .NET).
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
switch (sc.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
Chỉnh sửa: Ngoài ra còn có một phương pháp sc.WaitforStatus()
có trạng thái mong muốn và thời gian chờ, không bao giờ sử dụng nó nhưng nó có thể phù hợp với nhu cầu của bạn.
Chỉnh sửa: Khi bạn nhận được trạng thái, để có được trạng thái một lần nữa, bạn sẽ cần gọi sc.Refresh()
trước.
Tham khảo: Đối tượng ServiceControll trong .NET.